NEURON
neuron::container::state_token< Container > Struct Template Reference

Token whose lifetime manages the frozen state of a container. More...

#include <soa_container.hpp>

Public Member Functions

constexpr state_token (state_token const &other)
 Copy a token, incrementing the frozen count of the underlying container. More...
 
constexpr state_tokenoperator= (state_token const &)=delete
 Copy assignment. More...
 
 ~state_token ()
 Destroy a token, decrementing the frozen count of the underlying container. More...
 

Private Member Functions

constexpr state_token (Container &container)
 

Private Attributes

Container * m_container {}
 

Friends

template<typename , typename... >
struct soa
 

Detailed Description

template<typename Container>
struct neuron::container::state_token< Container >

Token whose lifetime manages the frozen state of a container.

Because this cannot be defaulted constructed or moved, it cannot reach an empty/invalid state.

Definition at line 629 of file soa_container.hpp.

Constructor & Destructor Documentation

◆ state_token() [1/2]

template<typename Container >
constexpr neuron::container::state_token< Container >::state_token ( state_token< Container > const &  other)
inlineconstexpr

Copy a token, incrementing the frozen count of the underlying container.

Definition at line 633 of file soa_container.hpp.

◆ ~state_token()

template<typename Container >
neuron::container::state_token< Container >::~state_token ( )
inline

Destroy a token, decrementing the frozen count of the underlying container.

Definition at line 649 of file soa_container.hpp.

◆ state_token() [2/2]

template<typename Container >
constexpr neuron::container::state_token< Container >::state_token ( Container &  container)
inlineconstexprprivate

Definition at line 657 of file soa_container.hpp.

Member Function Documentation

◆ operator=()

template<typename Container >
constexpr state_token& neuron::container::state_token< Container >::operator= ( state_token< Container > const &  )
constexprdelete

Copy assignment.

Explicitly deleted to avoid an implicit version with the wrong semantics.

Friends And Related Function Documentation

◆ soa

template<typename Container >
template<typename , typename... >
friend struct soa
friend

Definition at line 656 of file soa_container.hpp.

Member Data Documentation

◆ m_container

template<typename Container >
Container* neuron::container::state_token< Container >::m_container {}
private

Definition at line 659 of file soa_container.hpp.


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