cgv
named.h
1 #pragma once
2 
3 #include "base.h"
4 
5 #include "lib_begin.h"
6 
7 namespace cgv {
8  namespace base {
9 
10 class CGV_API named;
11 
14 
16 class CGV_API named : public base
17 {
18 protected:
20  friend class data::ref_ptr<named,true>;
22  std::string name;
23 public:
25  named(const std::string& name = "");
27  const std::string& get_name() const;
29  void set_name(const std::string& _name);
31  data::ref_ptr<named,true> get_named();
33  std::string get_type_name() const;
34 };
35 
36 template <>
37 struct cast_helper<named>
38 {
39  inline static data::ref_ptr<named,true> cast(base* b)
40  {
41  return b->get_named();
42  }
43 };
44 
45 #if _MSC_VER >= 1400
46 CGV_TEMPLATE template class CGV_API data::ref_ptr<named>;
47 #endif
48 
49  }
50 }
51 
52 #include <cgv/config/lib_end.h>
cgv::data::ref_ptr
Definition: ref_ptr.h:19
cgv::base::named
Definition: named.h:17
cgv::base::named::name
std::string name
store the name as a string
Definition: named.h:22
cgv::base::base
Definition: base.h:57
cgv::base::named_ptr
data::ref_ptr< named, true > named_ptr
ref counted pointer to a node
Definition: named.h:13
cgv
the cgv namespace
Definition: vr_calib.cxx:9