tue_config
data_pointer.h
Go to the documentation of this file.
1 #ifndef TUE_CONFIG_DATA_POINTER_H_
2 #define TUE_CONFIG_DATA_POINTER_H_
3 
4 #include <boost/shared_ptr.hpp>
5 
6 namespace tue
7 {
8 
9 namespace config
10 {
11 
12 typedef unsigned int NodeIdx;
13 
14 class Data;
15 class DataConstPointer;
16 
18 {
19 public:
20  DataPointer();
21  DataPointer(const boost::shared_ptr<Data>& data_, NodeIdx idx_) : data(data_), idx(idx_) {}
22 // bool valid() const { return data; }
23  boost::shared_ptr<Data> data;
25 
26  bool add(const DataConstPointer& ptr);
27 // void reset() { data.reset(); idx = 0; }
28 
29  bool empty() const;
30 
31  friend std::ostream& operator<< (std::ostream& out, const DataPointer& d);
32 
33 };
34 
36 {
37 public:
39  DataConstPointer(const boost::shared_ptr<const Data>& data_, NodeIdx idx_) : data(data_), idx(idx_) {}
40  DataConstPointer(const DataPointer& ptr) : data(ptr.data), idx(ptr.idx) {}
41 // bool valid() const { return data; }
42  boost::shared_ptr<const Data> data;
44 
45 // void reset() { data.reset(); idx = 0; }
46 
47  bool empty() const;
48 
49  friend std::ostream& operator<< (std::ostream& out, const DataConstPointer& d);
50 };
51 
52 }
53 
54 } // end namespace tue
55 
56 #endif
tue::config::DataConstPointer::DataConstPointer
DataConstPointer(const DataPointer &ptr)
Definition: data_pointer.h:40
tue::config::NodeIdx
unsigned int NodeIdx
Definition: data_pointer.h:12
tue::config::DataPointer
Definition: data_pointer.h:17
tue::config::DataConstPointer::DataConstPointer
DataConstPointer()
Definition: data_pointer.cpp:117
tue::config::DataPointer::idx
NodeIdx idx
Definition: data_pointer.h:24
std::ostream
tue::config::DataConstPointer::empty
bool empty() const
Definition: data_pointer.cpp:121
tue::config::DataPointer::DataPointer
DataPointer(const boost::shared_ptr< Data > &data_, NodeIdx idx_)
Definition: data_pointer.h:21
tue::config::DataPointer::data
boost::shared_ptr< Data > data
Definition: data_pointer.h:23
tue::config::DataConstPointer::idx
NodeIdx idx
Definition: data_pointer.h:43
tue::config::DataConstPointer::operator<<
friend std::ostream & operator<<(std::ostream &out, const DataConstPointer &d)
Definition: data_pointer.cpp:128
tue::config::DataConstPointer::data
boost::shared_ptr< const Data > data
Definition: data_pointer.h:42
tue::config::DataPointer::DataPointer
DataPointer()
Definition: data_pointer.cpp:106
tue::config::Data
Definition: data.h:17
tue::config::DataConstPointer
Definition: data_pointer.h:35
tue::config::DataPointer::add
bool add(const DataConstPointer &ptr)
Definition: data_pointer.cpp:71
tue::config::DataPointer::empty
bool empty() const
Definition: data_pointer.cpp:110
tue::config::DataPointer::operator<<
friend std::ostream & operator<<(std::ostream &out, const DataPointer &d)
Definition: data_pointer.cpp:137
tue::config::DataConstPointer::DataConstPointer
DataConstPointer(const boost::shared_ptr< const Data > &data_, NodeIdx idx_)
Definition: data_pointer.h:39
tue
config
tue::config::ReaderWriter config
Definition: sdf_gtest.cpp:9