65 std::vector<const attribute *> &attributes)
67 , m_class_oid (class_oid)
68 , m_class_name (std::move (class_name))
69 , m_attributes (attributes.size ())
70 , m_is_ignored (false)
72 std::copy (attributes.begin (), attributes.end (),
m_attributes.begin ());
89 m_attributes.clear ();
139 m_class_by_id.clear ();
144 std::vector<const attribute *> &attributes)
146 std::unique_lock<std::mutex> ulock (
m_mutex);
155 std::string c_name (class_name);
156 c_entry =
new class_entry (c_name, class_oid, clsid, attributes);
164 std::unique_lock<std::mutex> ulock (
m_mutex);
175 std::unique_lock<std::mutex> ulock (
m_mutex);
184 std::bind (&class_map::value_type::second, std::placeholders::_1));
193 return found->second;
const char * get_class_name() const
void register_class(const char *class_name, class_id clsid, OID class_oid, std::vector< const attribute * > &attributes)
const class_entry * get_class_entry(class_id clsid)
const attribute & get_attribute(std::size_t index) const
const tp_domain & get_domain() const
void register_ignored_class(class_entry *cls_entry, class_id cls_id)
std::size_t get_index() const
const char * get_name() const
const std::size_t m_index
size_t get_attributes_size() const
std::vector< const attribute * > m_attributes
const class_entry * get_class_entry_without_lock(class_id clsid)
const or_attribute & get_repr() const
const OID & get_class_oid() const
const or_attribute * m_repr
void get_all_class_entries(std::vector< const class_entry * > &entries) const