Scroom 0.14-48-ga0fee447
Loading...
Searching...
No Matches
Scroom::Utils::SingleContext Class Reference

#include <single-context.hh>

Inheritance diagram for Scroom::Utils::SingleContext:
Inheritance graph
Collaboration diagram for Scroom::Utils::SingleContext:
Collaboration graph

Public Member Functions

void set (std::string name, std::any value) override
 
const std::any & get (std::string name) const override
 
std::any try_get (std::string name) const override
 
- Public Member Functions inherited from Interface
 Interface ()=default
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
 Interface (Interface &&)=delete
 
Interfaceoperator= (Interface &&)=delete
 
virtual ~Interface ()=default
 

Private Attributes

std::map< std::string, std::any > content
 

Additional Inherited Members

- Public Types inherited from Scroom::Utils::Context
using Ptr = std::shared_ptr< Context >
 
using ConstPtr = std::shared_ptr< const Context >
 
- Static Public Member Functions inherited from Scroom::Utils::Context
static Ptr create ()
 

Member Function Documentation

◆ get()

const std::any & Scroom::Utils::SingleContext::get ( std::string  name) const
overridevirtual

Implements Scroom::Utils::Context.

25 {
26 auto item = content.find(name);
27
28 if(item == content.end())
29 {
30 throw name_not_found();
31 }
32
33 return item->second;
34 }
std::map< std::string, std::any > content
Definition single-context.hh:25

◆ set()

void Scroom::Utils::SingleContext::set ( std::string  name,
std::any  value 
)
overridevirtual

Implements Scroom::Utils::Context.

16 {
17 auto [it, added] = content.insert({std::move(name), std::move(value)});
18 if(!added)
19 {
20 throw name_exists();
21 }
22 }
const uint8_t value
Definition blob-tests.cc:114
SampleIterator< const uint8_t > it(testData, 0, bps)

◆ try_get()

std::any Scroom::Utils::SingleContext::try_get ( std::string  name) const
overridevirtual

Implements Scroom::Utils::Context.

37 {
38 auto item = content.find(name);
39
40 if(item == content.end())
41 {
42 return {};
43 }
44
45 return item->second;
46 }

Member Data Documentation

◆ content

std::map<std::string, std::any> Scroom::Utils::SingleContext::content
private

Referenced by get(), set(), and try_get().


The documentation for this class was generated from the following files: