cgv
Loading...
Searching...
No Matches
cgv::signal::managed_list< T > Class Template Reference
Inheritance diagram for cgv::signal::managed_list< T >:
cgv::signal::abst_managed_list

Public Member Functions

 managed_list (const std::string &_element_name, std::string T::*_name_member=0)
 
size_t size () const
 
const void * get_element_ptr (size_t index) const
 
std::string * get_element_name_ptr (size_t index)
 
std::string get_element_name (size_t index) const
 
size_t create (int as_copy_of=-1)
 
void erase (size_t index)
 
const T & operator() (size_t index) const
 
T & operator() (size_t index)
 
- Public Member Functions inherited from cgv::signal::abst_managed_list
 abst_managed_list (const std::string &_element_name)
 
void attach_list (abst_managed_list &attachment)
 
void detach_list (abst_managed_list &attachment)
 

Protected Attributes

std::vector< T * > elements
 
std::string T::* name_member
 
- Protected Attributes inherited from cgv::signal::abst_managed_list
std::set< abst_managed_list * > attachments
 

Additional Inherited Members

- Public Attributes inherited from cgv::signal::abst_managed_list
std::string element_name
 
cgv::signal::signal< size_t, int > on_create
 
cgv::signal::signal< size_t > on_erase
 
- Protected Member Functions inherited from cgv::signal::abst_managed_list
void finish_create (size_t index, int as_copy_of)
 
void start_erase (size_t index)
 

Detailed Description

template<typename T>
class cgv::signal::managed_list< T >

Definition at line 35 of file list.h.

Constructor & Destructor Documentation

◆ managed_list()

template<typename T >
cgv::signal::managed_list< T >::managed_list ( const std::string &  _element_name,
std::string T::*  _name_member = 0 
)
inline

Definition at line 41 of file list.h.

Member Function Documentation

◆ create()

template<typename T >
size_t cgv::signal::managed_list< T >::create ( int  as_copy_of = -1)
inlinevirtual

Implements cgv::signal::abst_managed_list.

Definition at line 61 of file list.h.

◆ erase()

template<typename T >
void cgv::signal::managed_list< T >::erase ( size_t  index)
inlinevirtual

Implements cgv::signal::abst_managed_list.

Definition at line 88 of file list.h.

◆ get_element_name()

template<typename T >
std::string cgv::signal::managed_list< T >::get_element_name ( size_t  index) const
inlinevirtual

Reimplemented from cgv::signal::abst_managed_list.

Definition at line 49 of file list.h.

◆ get_element_name_ptr()

template<typename T >
std::string * cgv::signal::managed_list< T >::get_element_name_ptr ( size_t  index)
inlinevirtual

Reimplemented from cgv::signal::abst_managed_list.

Definition at line 44 of file list.h.

◆ get_element_ptr()

template<typename T >
const void * cgv::signal::managed_list< T >::get_element_ptr ( size_t  index) const
inlinevirtual

Reimplemented from cgv::signal::abst_managed_list.

Definition at line 43 of file list.h.

◆ operator()() [1/2]

template<typename T >
T & cgv::signal::managed_list< T >::operator() ( size_t  index)
inline

Definition at line 104 of file list.h.

◆ operator()() [2/2]

template<typename T >
const T & cgv::signal::managed_list< T >::operator() ( size_t  index) const
inline

Definition at line 97 of file list.h.

◆ size()

template<typename T >
size_t cgv::signal::managed_list< T >::size ( ) const
inlinevirtual

Implements cgv::signal::abst_managed_list.

Definition at line 42 of file list.h.

Member Data Documentation

◆ elements

template<typename T >
std::vector<T*> cgv::signal::managed_list< T >::elements
protected

Definition at line 38 of file list.h.

◆ name_member

template<typename T >
std::string T::* cgv::signal::managed_list< T >::name_member
protected

Definition at line 39 of file list.h.


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