vSMC
vSMC: Scalable Monte Carlo
Classes | Namespaces | Macros | Typedefs | Functions
single_particle.hpp File Reference
#include <vsmc/internal/common.hpp>

Go to the source code of this file.

Classes

class  vsmc::internal::HasSingleParticleBaseType< T >
 
class  vsmc::internal::HasSingleParticleBaseTypeImpl< T >
 
class  vsmc::internal::SingleParticleBaseTypeDispatch< T, bool >
 
class  vsmc::internal::SingleParticleBaseTypeDispatch< T, false >
 
class  vsmc::internal::SingleParticleBaseTypeDispatch< T, true >
 
class  vsmc::SingleParticle< T >
 A thin wrapper over a complete Particle. More...
 
class  vsmc::SingleParticleBase< T >
 A thin wrapper over a complete Particle. More...
 
class  vsmc::SingleParticleBaseTypeTrait< T >
 SingleParticle base class trait. More...
 
class  vsmc::SingleParticleBaseTypeTrait< T >
 SingleParticle base class trait. More...
 

Namespaces

 vsmc
 
 vsmc::internal
 

Macros

#define VSMC_RUNTIME_ASSERT_SINGLE_PARTICLE_COMPARE(sp1, sp2)
 
#define VSMC_RUNTIME_ASSERT_SINGLE_PARTICLE_DIFFERENCE(sp1, sp2)
 

Typedefs

template<typename T >
using vsmc::SingleParticleBaseType = typename SingleParticleBaseTypeTrait< T >::type
 

Functions

template<typename T >
bool vsmc::operator!= (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T , typename IntType >
SingleParticle< T > vsmc::operator+ (const SingleParticle< T > &sp, IntType n)
 
template<typename T , typename IntType >
SingleParticle< T > vsmc::operator+ (IntType n, const SingleParticle< T > &sp)
 
template<typename T >
SingleParticle< T > & vsmc::operator++ (SingleParticle< T > &sp)
 
template<typename T >
SingleParticle< T > vsmc::operator++ (SingleParticle< T > &sp, int)
 
template<typename T , typename IntType >
SingleParticle< T > & vsmc::operator+= (SingleParticle< T > &sp, IntType n)
 
template<typename T , typename IntType >
SingleParticle< T > vsmc::operator- (const SingleParticle< T > &sp, IntType n)
 
template<typename T >
std::ptrdiff_t vsmc::operator- (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T >
SingleParticle< T > & vsmc::operator-- (SingleParticle< T > &sp)
 
template<typename T >
SingleParticle< T > vsmc::operator-- (SingleParticle< T > &sp, int)
 
template<typename T , typename IntType >
SingleParticle< T > & vsmc::operator-= (SingleParticle< T > &sp, IntType n)
 
template<typename T >
bool vsmc::operator< (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T >
bool vsmc::operator<= (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T >
bool vsmc::operator== (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T >
bool vsmc::operator> (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 
template<typename T >
bool vsmc::operator>= (const SingleParticle< T > &sp1, const SingleParticle< T > &sp2)
 

Macro Definition Documentation

#define VSMC_RUNTIME_ASSERT_SINGLE_PARTICLE_COMPARE (   sp1,
  sp2 
)
Value:
VSMC_RUNTIME_ASSERT((sp1.particle_ptr() == sp2.particle_ptr()), \
"COMPARE TWO SingleParticle OBJECTS THAT BELONG TO TWO PARTICLE " \
"SYSTEMS");
#define VSMC_RUNTIME_ASSERT(cond, msg)
Definition: assert.hpp:53

Definition at line 37 of file single_particle.hpp.

#define VSMC_RUNTIME_ASSERT_SINGLE_PARTICLE_DIFFERENCE (   sp1,
  sp2 
)
Value:
VSMC_RUNTIME_ASSERT((sp1.particle_ptr() == sp2.particle_ptr()), \
"SUBSTRACT TWO SingleParticle OBJECTS THAT BELONG TO TWO PARTICLE " \
"SYSTEMS");
#define VSMC_RUNTIME_ASSERT(cond, msg)
Definition: assert.hpp:53

Definition at line 42 of file single_particle.hpp.