Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
RoutingKit::BitVector Class Reference

#include <bit_vector.h>

Collaboration diagram for RoutingKit::BitVector:
[legend]

Data Structures

struct  Uninitialized
 

Public Member Functions

bool are_all_set () const
 
 BitVector ()
 
 BitVector (BitVector &&)
 
 BitVector (const BitVector &)
 
 BitVector (uint64_t size, bool init_value=false)
 
 BitVector (uint64_t size, Uninitialized)
 
uint64_t count_false () const
 
uint64_t count_true () const
 
uint64_t * data ()
 
const uint64_t * data () const
 
bool empty () const
 
void inplace_not ()
 
bool is_any_set () const
 
bool is_set (uint64_t x) const
 
void make_large_enough_for (uint64_t x, bool init_value=false)
 
void make_large_enough_for (uint64_t x, Uninitialized)
 
BitVectoroperator&= (const BitVector &)
 
BitVectoroperator= (BitVector)
 
BitVectoroperator^= (const BitVector &)
 
BitVectoroperator|= (const BitVector &)
 
BitVector operator~ () const
 
uint64_t population_count () const
 
void reset (uint64_t x)
 
void reset_all ()
 
void reset_all_padding_bits ()
 
void resize (uint64_t size, bool init_value=false)
 
void resize (uint64_t size, Uninitialized)
 
void set (uint64_t x)
 
void set (uint64_t x, bool value)
 
void set_all ()
 
void set_all (bool value)
 
void set_if (uint64_t x, bool value)
 
uint64_t size () const
 
void swap (BitVector &)
 
void toggle (uint64_t x)
 
uint64_t uint512_count () const
 
 ~BitVector ()
 

Static Public Attributes

static constexpr Uninitialized uninitialized = {}
 

Private Attributes

uint64_t * data_
 
uint64_t size_
 

Friends

bool operator< (const BitVector &l, const BitVector &r)
 
bool operator== (const BitVector &l, const BitVector &r)
 

Detailed Description

Definition at line 10 of file bit_vector.h.

Constructor & Destructor Documentation

◆ BitVector() [1/5]

RoutingKit::BitVector::BitVector ( )

Definition at line 175 of file bit_vector.cpp.

Referenced by resize(), and resize().

Here is the caller graph for this function:

◆ BitVector() [2/5]

RoutingKit::BitVector::BitVector ( uint64_t  size,
BitVector::Uninitialized   
)

Definition at line 178 of file bit_vector.cpp.

References data_, reset_all_padding_bits(), size(), and size_.

◆ BitVector() [3/5]

RoutingKit::BitVector::BitVector ( uint64_t  size,
bool  init_value = false 
)
explicit

Definition at line 194 of file bit_vector.cpp.

References data_, reset_all_padding_bits(), size(), and size_.

◆ ~BitVector()

RoutingKit::BitVector::~BitVector ( )

Definition at line 226 of file bit_vector.cpp.

References aligned_free, and data_.

◆ BitVector() [4/5]

RoutingKit::BitVector::BitVector ( const BitVector o)

Definition at line 230 of file bit_vector.cpp.

References data_, and size_.

◆ BitVector() [5/5]

RoutingKit::BitVector::BitVector ( BitVector &&  o)

Definition at line 247 of file bit_vector.cpp.

Member Function Documentation

◆ are_all_set()

bool RoutingKit::BitVector::are_all_set ( ) const

Definition at line 433 of file bit_vector.cpp.

References data_, and size_.

◆ count_false()

uint64_t RoutingKit::BitVector::count_false ( ) const
inline

Definition at line 98 of file bit_vector.h.

References population_count(), and size().

◆ count_true()

uint64_t RoutingKit::BitVector::count_true ( ) const
inline

Definition at line 97 of file bit_vector.h.

References population_count().

◆ data() [1/2]

uint64_t * RoutingKit::BitVector::data ( )
inline

Definition at line 111 of file bit_vector.h.

References data_.

Referenced by RoutingKit::read_bit_vector(), and RoutingKit::write_bit_vector().

Here is the caller graph for this function:

◆ data() [2/2]

const uint64_t * RoutingKit::BitVector::data ( ) const
inline

Definition at line 112 of file bit_vector.h.

References data_.

◆ empty()

bool RoutingKit::BitVector::empty ( ) const
inline

Definition at line 25 of file bit_vector.h.

References size().

Referenced by RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ inplace_not()

void RoutingKit::BitVector::inplace_not ( )

Definition at line 494 of file bit_vector.cpp.

References data_, reset_all_padding_bits(), and size_.

Referenced by operator~(), and RoutingKit::pick_smaller_side().

Here is the caller graph for this function:

◆ is_any_set()

bool RoutingKit::BitVector::is_any_set ( ) const

Definition at line 451 of file bit_vector.cpp.

References data_, and size_.

◆ is_set()

◆ make_large_enough_for() [1/2]

void RoutingKit::BitVector::make_large_enough_for ( uint64_t  x,
bool  init_value = false 
)

Definition at line 382 of file bit_vector.cpp.

References resize(), and size_.

◆ make_large_enough_for() [2/2]

void RoutingKit::BitVector::make_large_enough_for ( uint64_t  x,
BitVector::Uninitialized   
)

Definition at line 369 of file bit_vector.cpp.

References resize(), size_, and uninitialized.

◆ operator&=()

BitVector & RoutingKit::BitVector::operator&= ( const BitVector o)

Definition at line 484 of file bit_vector.cpp.

References data_, and size_.

◆ operator=()

BitVector & RoutingKit::BitVector::operator= ( BitVector  o)

Definition at line 256 of file bit_vector.cpp.

References swap().

◆ operator^=()

BitVector & RoutingKit::BitVector::operator^= ( const BitVector o)

Definition at line 474 of file bit_vector.cpp.

References data_, and size_.

◆ operator|=()

BitVector & RoutingKit::BitVector::operator|= ( const BitVector o)

Definition at line 464 of file bit_vector.cpp.

References data_, and size_.

◆ operator~()

BitVector RoutingKit::BitVector::operator~ ( ) const
inline

Definition at line 106 of file bit_vector.h.

References inplace_not().

◆ population_count()

uint64_t RoutingKit::BitVector::population_count ( ) const

Definition at line 397 of file bit_vector.cpp.

References data_, and size_.

Referenced by RoutingKit::BlockingFlow::BlockingFlow(), count_false(), count_true(), RoutingKit::derive_separator_from_cut(), and RoutingKit::BlockingFlow::get_balanced_cut().

Here is the caller graph for this function:

◆ reset()

void RoutingKit::BitVector::reset ( uint64_t  x)
inline

Definition at line 70 of file bit_vector.h.

References data_, and size_.

Referenced by RoutingKit::CustomizableContractionHierarchyMetric::build_contraction_hierarchy_using_perfect_witness_search().

Here is the caller graph for this function:

◆ reset_all()

void RoutingKit::BitVector::reset_all ( )

Definition at line 413 of file bit_vector.cpp.

References data_, and size_.

Referenced by RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy().

Here is the caller graph for this function:

◆ reset_all_padding_bits()

void RoutingKit::BitVector::reset_all_padding_bits ( )

Definition at line 276 of file bit_vector.cpp.

References data_, and size_.

Referenced by BitVector(), BitVector(), inplace_not(), resize(), set_all(), and set_all().

Here is the caller graph for this function:

◆ resize() [1/2]

void RoutingKit::BitVector::resize ( uint64_t  size,
bool  init_value = false 
)

Definition at line 312 of file bit_vector.cpp.

References BitVector(), data_, resize(), size_, swap(), and uninitialized.

◆ resize() [2/2]

void RoutingKit::BitVector::resize ( uint64_t  size,
BitVector::Uninitialized   
)

Definition at line 285 of file bit_vector.cpp.

References BitVector(), data_, reset_all_padding_bits(), size_, swap(), and uninitialized.

Referenced by RoutingKit::CustomizableContractionHierarchy::CustomizableContractionHierarchy(), RoutingKit::BlockingFlow::get_source_cut(), RoutingKit::BlockingFlow::get_target_cut(), make_large_enough_for(), make_large_enough_for(), and resize().

Here is the caller graph for this function:

◆ set() [1/2]

void RoutingKit::BitVector::set ( uint64_t  x)
inline

◆ set() [2/2]

void RoutingKit::BitVector::set ( uint64_t  x,
bool  value 
)
inline

Definition at line 60 of file bit_vector.h.

References data_, and size_.

◆ set_all() [1/2]

void RoutingKit::BitVector::set_all ( )

Definition at line 405 of file bit_vector.cpp.

References data_, reset_all_padding_bits(), and size_.

◆ set_all() [2/2]

void RoutingKit::BitVector::set_all ( bool  value)

Definition at line 420 of file bit_vector.cpp.

References data_, reset_all_padding_bits(), and size_.

◆ set_if()

void RoutingKit::BitVector::set_if ( uint64_t  x,
bool  value 
)
inline

Definition at line 51 of file bit_vector.h.

References data_, and size_.

◆ size()

◆ swap()

void RoutingKit::BitVector::swap ( BitVector o)

Definition at line 263 of file bit_vector.cpp.

References data_, and size_.

Referenced by operator=(), resize(), and resize().

Here is the caller graph for this function:

◆ toggle()

void RoutingKit::BitVector::toggle ( uint64_t  x)
inline

Definition at line 79 of file bit_vector.h.

References data_, and size_.

◆ uint512_count()

uint64_t RoutingKit::BitVector::uint512_count ( ) const
inline

Definition at line 114 of file bit_vector.h.

References size_.

Friends And Related Symbol Documentation

◆ operator<

bool operator< ( const BitVector l,
const BitVector r 
)
friend

Definition at line 517 of file bit_vector.cpp.

◆ operator==

bool operator== ( const BitVector l,
const BitVector r 
)
friend

Definition at line 502 of file bit_vector.cpp.

Field Documentation

◆ data_

◆ size_

◆ uninitialized

constexpr Uninitialized RoutingKit::BitVector::uninitialized = {}
staticconstexpr

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