Classes | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
pal_statistics::RegistrationList Class Reference

The RegistrationList class. More...

#include <pal_statistics_utils.h>

Classes

struct  NameValues
 

Public Member Functions

void doUpdate ()
 
void fillMsg (pal_statistics_msgs::StatisticsNames &names, pal_statistics_msgs::StatisticsValues &value)
 fills message with the last captured values. More...
 
bool hasPendingData () const
 
int registerVariable (const std::string &name, VariableHolder &&holder, bool enabled=true)
 
 RegistrationList (size_t internal_buffer_capacity=100)
 
void setEnabled (const IdType &id, bool enabled)
 
size_t size () const
 
bool smartFillMsg (pal_statistics_msgs::StatisticsNames &names, pal_statistics_msgs::StatisticsValues &values)
 smartFillMsg Attempts to minimize the amount of string copies More...
 
void unregisterVariable (const IdType &id)
 
void unregisterVariable (const std::string &name)
 

Public Attributes

unsigned int overwritten_data_count_
 

Private Types

typedef std::pair< NameValues, ros::TimeLastValuesStamped
 
typedef boost::bimap< boost::bimaps::multiset_of< std::string >, boost::bimaps::set_of< IdType > > NameIdBiMap
 

Private Member Functions

void deleteElement (size_t index)
 
void registrationsChanged ()
 

Private Attributes

bool all_enabled_
 
size_t buffer_size_
 
std::vector< bool > enabled_
 
std::vector< IdTypeids_
 
int last_id_
 
StaticCircularBuffer< LastValuesStampedlast_values_buffer_
 
NameIdBiMap name_id_
 
std::vector< std::string > names_
 
unsigned int names_version_
 
std::vector< VariableHolderreferences_
 
bool registrations_changed_
 

Detailed Description

The RegistrationList class.

Not thread safe

Definition at line 202 of file pal_statistics_utils.h.

Member Typedef Documentation

◆ LastValuesStamped

Definition at line 272 of file pal_statistics_utils.h.

◆ NameIdBiMap

typedef boost::bimap<boost::bimaps::multiset_of<std::string>, boost::bimaps::set_of<IdType> > pal_statistics::RegistrationList::NameIdBiMap
private

Definition at line 252 of file pal_statistics_utils.h.

Constructor & Destructor Documentation

◆ RegistrationList()

pal_statistics::RegistrationList::RegistrationList ( size_t  internal_buffer_capacity = 100)

Definition at line 33 of file pal_statistics_utils.cpp.

Member Function Documentation

◆ deleteElement()

void pal_statistics::RegistrationList::deleteElement ( size_t  index)
private

Definition at line 191 of file pal_statistics_utils.cpp.

◆ doUpdate()

void pal_statistics::RegistrationList::doUpdate ( )

Definition at line 88 of file pal_statistics_utils.cpp.

◆ fillMsg()

void pal_statistics::RegistrationList::fillMsg ( pal_statistics_msgs::StatisticsNames &  names,
pal_statistics_msgs::StatisticsValues &  value 
)

fills message with the last captured values.

Definition at line 132 of file pal_statistics_utils.cpp.

◆ hasPendingData()

bool pal_statistics::RegistrationList::hasPendingData ( ) const

Definition at line 186 of file pal_statistics_utils.cpp.

◆ registerVariable()

int pal_statistics::RegistrationList::registerVariable ( const std::string &  name,
VariableHolder &&  holder,
bool  enabled = true 
)

Definition at line 219 of file pal_statistics_utils.cpp.

◆ registrationsChanged()

void pal_statistics::RegistrationList::registrationsChanged ( )
private

Definition at line 213 of file pal_statistics_utils.cpp.

◆ setEnabled()

void pal_statistics::RegistrationList::setEnabled ( const IdType id,
bool  enabled 
)

Definition at line 51 of file pal_statistics_utils.cpp.

◆ size()

size_t pal_statistics::RegistrationList::size ( ) const
Returns
the number of variables registered

Definition at line 181 of file pal_statistics_utils.cpp.

◆ smartFillMsg()

bool pal_statistics::RegistrationList::smartFillMsg ( pal_statistics_msgs::StatisticsNames &  names,
pal_statistics_msgs::StatisticsValues &  values 
)

smartFillMsg Attempts to minimize the amount of string copies

Returns
true if a smartfill was possible

Assumes that msg has already been filled before, and if no variables have been registered/deregistered/enabled/disabled since the last call to this function, will only update the values.

Definition at line 155 of file pal_statistics_utils.cpp.

◆ unregisterVariable() [1/2]

void pal_statistics::RegistrationList::unregisterVariable ( const IdType id)

Definition at line 39 of file pal_statistics_utils.cpp.

◆ unregisterVariable() [2/2]

void pal_statistics::RegistrationList::unregisterVariable ( const std::string &  name)

Definition at line 65 of file pal_statistics_utils.cpp.

Member Data Documentation

◆ all_enabled_

bool pal_statistics::RegistrationList::all_enabled_
private

Definition at line 273 of file pal_statistics_utils.h.

◆ buffer_size_

size_t pal_statistics::RegistrationList::buffer_size_
private

Definition at line 256 of file pal_statistics_utils.h.

◆ enabled_

std::vector<bool> pal_statistics::RegistrationList::enabled_
private

Definition at line 260 of file pal_statistics_utils.h.

◆ ids_

std::vector<IdType> pal_statistics::RegistrationList::ids_
private

Definition at line 258 of file pal_statistics_utils.h.

◆ last_id_

int pal_statistics::RegistrationList::last_id_
private

Definition at line 247 of file pal_statistics_utils.h.

◆ last_values_buffer_

StaticCircularBuffer<LastValuesStamped> pal_statistics::RegistrationList::last_values_buffer_
private

Definition at line 274 of file pal_statistics_utils.h.

◆ name_id_

NameIdBiMap pal_statistics::RegistrationList::name_id_
private

Definition at line 254 of file pal_statistics_utils.h.

◆ names_

std::vector<std::string> pal_statistics::RegistrationList::names_
private

Definition at line 257 of file pal_statistics_utils.h.

◆ names_version_

unsigned int pal_statistics::RegistrationList::names_version_
private

Definition at line 248 of file pal_statistics_utils.h.

◆ overwritten_data_count_

unsigned int pal_statistics::RegistrationList::overwritten_data_count_

Definition at line 241 of file pal_statistics_utils.h.

◆ references_

std::vector<VariableHolder> pal_statistics::RegistrationList::references_
private

Definition at line 259 of file pal_statistics_utils.h.

◆ registrations_changed_

bool pal_statistics::RegistrationList::registrations_changed_
private

Definition at line 276 of file pal_statistics_utils.h.


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


pal_statistics
Author(s):
autogenerated on Mon Feb 28 2022 23:04:05