Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | Protected Attributes | List of all members
apollo::localization::msf::MessageBuffer< MessageType > Class Template Reference

#include <visualization_manager.h>

Inheritance diagram for apollo::localization::msf::MessageBuffer< MessageType >:
Inheritance graph
Collaboration diagram for apollo::localization::msf::MessageBuffer< MessageType >:
Collaboration graph

Public Types

typedef std::list< std::pair< double, MessageType > >::iterator ListIterator
 

Public Member Functions

 MessageBuffer (int capacity)
 
 ~MessageBuffer ()
 
bool PushNewMessage (const double timestamp, const MessageType &msg)
 
bool PopOldestMessage (MessageType *msg)
 
bool GetMessageBefore (const double timestamp, MessageType *msg)
 
bool GetMessage (const double timestamp, MessageType *msg)
 
void Clear ()
 
void SetCapacity (const unsigned int capacity)
 
void GetAllMessages (std::list< std::pair< double, MessageType >> *msg_list)
 
bool IsEmpty ()
 
unsigned int BufferSize ()
 

Protected Attributes

std::map< double, ListIteratormsg_map_
 
std::list< std::pair< double, MessageType > > msg_list_
 
pthread_mutex_t buffer_mutex_
 
unsigned int capacity_
 

Member Typedef Documentation

◆ ListIterator

template<class MessageType>
typedef std::list<std::pair<double, MessageType> >::iterator apollo::localization::msf::MessageBuffer< MessageType >::ListIterator

Constructor & Destructor Documentation

◆ MessageBuffer()

template<class MessageType>
apollo::localization::msf::MessageBuffer< MessageType >::MessageBuffer ( int  capacity)
explicit

◆ ~MessageBuffer()

template<class MessageType>
apollo::localization::msf::MessageBuffer< MessageType >::~MessageBuffer ( )

Member Function Documentation

◆ BufferSize()

template<class MessageType>
unsigned int apollo::localization::msf::MessageBuffer< MessageType >::BufferSize ( )

◆ Clear()

template<class MessageType>
void apollo::localization::msf::MessageBuffer< MessageType >::Clear ( )

◆ GetAllMessages()

template<class MessageType>
void apollo::localization::msf::MessageBuffer< MessageType >::GetAllMessages ( std::list< std::pair< double, MessageType >> *  msg_list)

◆ GetMessage()

template<class MessageType>
bool apollo::localization::msf::MessageBuffer< MessageType >::GetMessage ( const double  timestamp,
MessageType *  msg 
)

◆ GetMessageBefore()

template<class MessageType>
bool apollo::localization::msf::MessageBuffer< MessageType >::GetMessageBefore ( const double  timestamp,
MessageType *  msg 
)

◆ IsEmpty()

template<class MessageType>
bool apollo::localization::msf::MessageBuffer< MessageType >::IsEmpty ( )

◆ PopOldestMessage()

template<class MessageType>
bool apollo::localization::msf::MessageBuffer< MessageType >::PopOldestMessage ( MessageType *  msg)

◆ PushNewMessage()

template<class MessageType>
bool apollo::localization::msf::MessageBuffer< MessageType >::PushNewMessage ( const double  timestamp,
const MessageType &  msg 
)

◆ SetCapacity()

template<class MessageType>
void apollo::localization::msf::MessageBuffer< MessageType >::SetCapacity ( const unsigned int  capacity)

Member Data Documentation

◆ buffer_mutex_

template<class MessageType>
pthread_mutex_t apollo::localization::msf::MessageBuffer< MessageType >::buffer_mutex_
protected

◆ capacity_

template<class MessageType>
unsigned int apollo::localization::msf::MessageBuffer< MessageType >::capacity_
protected

◆ msg_list_

template<class MessageType>
std::list<std::pair<double, MessageType> > apollo::localization::msf::MessageBuffer< MessageType >::msg_list_
protected

◆ msg_map_

template<class MessageType>
std::map<double, ListIterator> apollo::localization::msf::MessageBuffer< MessageType >::msg_map_
protected

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