ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Types | Public Member Functions | Static Public Member Functions | List of all members
anna::dbos::Set< T > Class Template Reference

#include <Set.hpp>

Inheritance diagram for anna::dbos::Set< T >:
Inheritance graph
[legend]
Collaboration diagram for anna::dbos::Set< T >:
Collaboration graph
[legend]

Public Types

typedef anna::SafeRecycler< T, anna::Allocator< T > > Container
 
typedef Container::const_iterator const_iterator
 
typedef Container::iterator iterator
 

Public Member Functions

const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
T * append () noexcept(false)
 
void remove (T *&t) noexcept(false)
 
int size () const
 
- Public Member Functions inherited from anna::dbos::Object
Index getIndex () const
 
bool isStored () const
 

Static Public Member Functions

static T * data (iterator &ii)
 
static const T * data (const_iterator &ii)
 

Additional Inherited Members

- Protected Member Functions inherited from anna::dbos::Object
 Object ()
 
virtual void create (Creator &creator) noexcept(false)
 
virtual bool hasChanges (Loader &loader) noexcept(false)
 
virtual bool enableUpdate () const
 

Detailed Description

template<typename T>
class anna::dbos::Set< T >

Template para acceder a los elementos de un conjunto de objetos inicializados a partir de los datos contenidos en un medio fisico.

A continuacion presentamos un ejemplo de uso:

Server::Set <Server>* servers (NULL); // Server hereda de esta clase.
ServerLoader serverLoader; // ServerLoader hereda de dbos::Loader.
Server* server;
try {
serverLoader.setKey (..........); // Establece los parametros de busqueda
servers = Server::instantiate (serverLoader);
if (servers->size () == 0) {
....
.... Si fuera necesario Trataria la condicion de no encontrar ningun registro
....
}
Server::iterator ii, maxii;
for (ii = servers->begin (), maxii = servers->end (); ii != maxii; ii ++) {
server = *ii;
.... Trataria cada uno de los Server encontrados ....
}
Server::release (servers);
}
catch (Exception& ex) {
Server::release (servers);
...
... Si fuera necesario Trataria la condicion de error.
}

Member Typedef Documentation

◆ const_iterator

template<typename T>
typedef Container::const_iterator anna::dbos::Set< T >::const_iterator

Sinonimo usado para acceder a los elementos del conjunto atraves de un iterador de objetos no modificables.

◆ Container

template<typename T>
typedef anna::SafeRecycler<T, anna::Allocator<T> > anna::dbos::Set< T >::Container

Sinonimo usado para definir la clase contenedora de objetos del conjunto.

◆ iterator

template<typename T>
typedef Container::iterator anna::dbos::Set< T >::iterator

Sinonimo usado para acceder a los elementos del conjunto atraves de un iterador de objetos modificables.

Member Function Documentation

◆ append()

template<typename T>
T* anna::dbos::Set< T >::append ( )
inlinenoexcept

Crea un nuevo puntero de la clase T dentro de este conjunto.

111 { return a_objects.create(); }
T * create() noexcept(false)
Definition: SafeRecycler.hpp:64
Here is the call graph for this function:

◆ begin() [1/2]

template<typename T>
const_iterator anna::dbos::Set< T >::begin ( ) const
inline

Devuelve el inicio del vector de objetos contenidos en el conjunto.

Returns
El inicio del vector de objetos contenidos en el conjunto.
88 { return a_objects.begin(); }
iterator begin()
Definition: Recycler.hpp:209
Here is the call graph for this function:

◆ begin() [2/2]

template<typename T>
iterator anna::dbos::Set< T >::begin ( )
inline

Devuelve el inicio del vector de objetos contenidos en el conjunto.

Returns
El inicio del vector de objetos contenidos en el conjunto.
94 { return a_objects.begin(); }
iterator begin()
Definition: Recycler.hpp:209
Here is the call graph for this function:

◆ data() [1/2]

template<typename T>
static T* anna::dbos::Set< T >::data ( iterator ii)
inlinestatic

Devuelve el puntero sobre el que esta posicionado el iterador recibido como parametro.

Returns
El puntero sobre el que esta posicionado el iterador recibido como parametro.
130 { return Container::data(ii); }
static T * data(iterator ii)
Definition: Recycler.hpp:233
Here is the call graph for this function:

◆ data() [2/2]

template<typename T>
static const T* anna::dbos::Set< T >::data ( const_iterator ii)
inlinestatic

Devuelve el puntero sobre el que esta posicionado el iterador recibido como parametro.

Returns
El puntero sobre el que esta posicionado el iterador recibido como parametro.
136 { return Container::data(ii); }
static T * data(iterator ii)
Definition: Recycler.hpp:233
Here is the call graph for this function:

◆ end() [1/2]

template<typename T>
const_iterator anna::dbos::Set< T >::end ( ) const
inline

Devuelve el final del vector de objetos contenidos en el conjunto.

Returns
El final del vector de objetos contenidos en el conjunto.
100 { return a_objects.end(); }
iterator end()
Definition: Recycler.hpp:221
Here is the call graph for this function:

◆ end() [2/2]

template<typename T>
iterator anna::dbos::Set< T >::end ( )
inline

Devuelve el final del vector de objetos contenidos en el conjunto.

Returns
El final del vector de objetos contenidos en el conjunto.
106 { return a_objects.end(); }
iterator end()
Definition: Recycler.hpp:221
Here is the call graph for this function:

◆ remove()

template<typename T>
void anna::dbos::Set< T >::remove ( T *&  t)
inlinenoexcept

Saca de este conjunto la instancia recibida como parametro y libera su memoria asociada. La operacion se ignoraria si el puntero recibido como parametro es nulo o no pertenece al conjunto.

Parameters
tInstancia que del objeto a eliminar.
118 { a_objects.release(t); t = NULL; }
void release(T *t)
Definition: SafeRecycler.hpp:93
Here is the call graph for this function:

◆ size()

template<typename T>
int anna::dbos::Set< T >::size ( ) const
inline

Devuelve el nmero de elementos contenidos en el conjunto.

Returns
El nmero de elementos contenidos en el conjunto.
124 { return a_objects.size(); }
int size() const
Definition: Recycler.hpp:77
Here is the call graph for this function:

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