3 #ifndef VISR_RRL_COMMUNICATION_AREA_HPP_INCLUDED 4 #define VISR_RRL_COMMUNICATION_AREA_HPP_INCLUDED 37 template<
typename SampleType>
38 class VISR_RRL_LIBRARY_SYMBOL CommunicationArea
47 explicit CommunicationArea( std::size_t numberOfSignals, std::size_t signalLength,
48 std::size_t alignmentElements );
64 return data() + mSignalStride * index;
69 return data( ) + mSignalStride * index;
74 if( index >= mNumberOfSignals )
76 throw std::out_of_range(
"Index exceeds the number of signals" );
78 return operator[]( index );
83 if( index >= mNumberOfSignals )
85 throw std::out_of_range(
"Index exceeds the number of signals" );
87 return operator[]( index );
91 const std::size_t mNumberOfSignals;
92 const std::size_t mSignalLength;
93 const std::size_t mSignalStride;
101 #endif // VISR_RRL_COMMUNICATION_AREA_HPP_INCLUDED std::size_t numberOfSignals() const
Definition: communication_area.hpp:52
char * basePointer()
Definition: communication_area.hpp:26
Definition: communication_area.hpp:19
SampleType * at(std::size_t index)
Definition: communication_area.hpp:72
Definition: options.cpp:10
SampleType * operator[](std::size_t index)
Definition: communication_area.hpp:62
std::size_t signalLength() const
Definition: communication_area.hpp:54
char const * basePointer() const
Definition: communication_area.hpp:28
std::size_t signalStride() const
Definition: communication_area.hpp:56
SampleType const * operator[](std::size_t index) const
Definition: communication_area.hpp:67
float SampleType
Definition: constants.hpp:14
SampleType const * data() const
Definition: communication_area.hpp:60
SampleType * data()
Definition: communication_area.hpp:58
SampleType const * at(std::size_t index) const
Definition: communication_area.hpp:81