ATLAS Offline Software
Loading...
Searching...
No Matches
GlobalSim::BitFieldAccessor< Field > Class Template Reference

#include <BitSpec.h>

Inheritance diagram for GlobalSim::BitFieldAccessor< Field >:
Collaboration diagram for GlobalSim::BitFieldAccessor< Field >:

Public Member Functions

 BitFieldAccessor (const Field &field, const SG::AuxElement &obj)
BitFieldAccessoroperator() ()
auto value (bool truncate=false) const
BitFieldAccessoroperator= (const Field::value_type &value)
BitFieldAccessoroperator= (const Field::bits_type &bits)
auto bits () const
constexpr auto spec () const
template<std::size_t N>
auto extract (const std::bitset< N > &packed) const
template<std::size_t N>
auto decodeFrom (const std::bitset< N > &packed) const

Private Attributes

const Field & m_field
const SG::AuxElementm_obj

Detailed Description

template<typename Field>
class GlobalSim::BitFieldAccessor< Field >

Definition at line 311 of file BitSpec.h.

Constructor & Destructor Documentation

◆ BitFieldAccessor()

template<typename Field>
GlobalSim::BitFieldAccessor< Field >::BitFieldAccessor ( const Field & field,
const SG::AuxElement & obj )
inline

Definition at line 313 of file BitSpec.h.

314 }
const SG::AuxElement & m_obj
Definition BitSpec.h:376

Member Function Documentation

◆ bits()

template<typename Field>
auto GlobalSim::BitFieldAccessor< Field >::bits ( ) const
inline

Definition at line 346 of file BitSpec.h.

346 {
347 return m_field.bits(m_obj);
348 }

◆ decodeFrom()

template<typename Field>
template<std::size_t N>
auto GlobalSim::BitFieldAccessor< Field >::decodeFrom ( const std::bitset< N > & packed) const
inline

Definition at line 370 of file BitSpec.h.

370 {
371 return m_field.decodeFrom(packed);
372 }

◆ extract()

template<typename Field>
template<std::size_t N>
auto GlobalSim::BitFieldAccessor< Field >::extract ( const std::bitset< N > & packed) const
inline

Definition at line 361 of file BitSpec.h.

361 {
362 return m_field.extract(packed);
363 }

◆ operator()()

template<typename Field>
BitFieldAccessor & GlobalSim::BitFieldAccessor< Field >::operator() ( )
inline

Definition at line 317 of file BitSpec.h.

317 {
318 return *this;
319 }

◆ operator=() [1/2]

template<typename Field>
BitFieldAccessor & GlobalSim::BitFieldAccessor< Field >::operator= ( const Field::bits_type & bits)
inline

Definition at line 336 of file BitSpec.h.

336 {
337 // Decode bits and set the value in m_obj
338 // ...
339 return operator=(m_field.decode(bits));
340 }
BitFieldAccessor & operator=(const Field::value_type &value)
Definition BitSpec.h:331

◆ operator=() [2/2]

template<typename Field>
BitFieldAccessor & GlobalSim::BitFieldAccessor< Field >::operator= ( const Field::value_type & value)
inline

Definition at line 331 of file BitSpec.h.

331 {
332 m_field.store(const_cast<SG::AuxElement &>(m_obj),value);
333 return *this;
334 }
auto value(bool truncate=false) const
Definition BitSpec.h:325

◆ spec()

template<typename Field>
auto GlobalSim::BitFieldAccessor< Field >::spec ( ) const
inlineconstexpr

Definition at line 353 of file BitSpec.h.

353{ return m_field; }

◆ value()

template<typename Field>
auto GlobalSim::BitFieldAccessor< Field >::value ( bool truncate = false) const
inline

Definition at line 325 of file BitSpec.h.

325 {
326 if(truncate) return m_field.value(m_obj,true);
327 return m_field.value(m_obj);
328 }

Member Data Documentation

◆ m_field

template<typename Field>
const Field& GlobalSim::BitFieldAccessor< Field >::m_field
private

Definition at line 375 of file BitSpec.h.

◆ m_obj

template<typename Field>
const SG::AuxElement& GlobalSim::BitFieldAccessor< Field >::m_obj
private

Definition at line 376 of file BitSpec.h.


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