Regina 7.0 Calculation Engine
Classes | Namespaces | Typedefs | Functions
bitmask.h File Reference

Provides optimised bitmasks of arbitrary length. More...

#include <algorithm>
#include <iostream>
#include "regina-core.h"
#include "regina-config.h"
#include "utilities/bitmanip.h"

Classes

class  regina::Bitmask
 A bitmask that can store arbitrarily many true-or-false bits. More...
 
class  regina::Bitmask1< T >
 A small but extremely fast bitmask class that can store up to 8 * sizeof(T) true-or-false bits. More...
 
class  regina::Bitmask2< T, U >
 A small but extremely fast bitmask class that can store up to 8 * sizeof(T) + 8 * sizeof(U) true-or-false bits. More...
 

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.
 

Typedefs

using regina::BitmaskLen8 = Bitmask1< uint8_t >
 A deprecated type alias that gives a small and extremely fast bitmask class capable of holding at least 8 true-or-false bits. More...
 
using regina::BitmaskLen16 = Bitmask1< uint16_t >
 A deprecated type alias that gives a small and extremely fast bitmask class capable of holding at least 16 true-or-false bits. More...
 
using regina::BitmaskLen32 = Bitmask1< uint32_t >
 A deprecated type alias that gives a small and extremely fast bitmask class capable of holding at least 32 true-or-false bits. More...
 
using regina::BitmaskLen64 = Bitmask1< uint64_t >
 A deprecated type alias that gives a small and extremely fast bitmask class capable of holding at least 64 true-or-false bits. More...
 

Functions

void regina::swap (Bitmask &a, Bitmask &b) noexcept
 Swaps the contents of the two given bitmasks. More...
 
std::ostream & regina::operator<< (std::ostream &out, const Bitmask &mask)
 Writes the given bitmask to the given output stream as a sequence of zeroes and ones. More...
 
template<typename T >
std::ostream & regina::operator<< (std::ostream &out, const Bitmask1< T > &mask)
 Writes the given bitmask to the given output stream as a sequence of zeroes and ones. More...
 
template<typename T , typename U >
std::ostream & regina::operator<< (std::ostream &out, const Bitmask2< T, U > &mask)
 Writes the given bitmask to the given output stream as a sequence of zeroes and ones. More...
 

Detailed Description

Provides optimised bitmasks of arbitrary length.


Copyright © 1999-2021, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).