Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::util Namespace Reference

Classes

class  AllOfPredicate
 
class  AlternativeKeyMap
 Map that can use two different keys to value. Uses Bidirectional Map for mapping of primary and secondary keys. More...
 
class  AnyOfPredicate
 
class  AutomaticTemporaryDirectory
 
class  BidirectionalHashMap
 Bidirectional Hash Map. Behaves like a regular map, but also implements fast reversed look-up in trade for memory. More...
 
class  BidirectionalMultiHashMap
 Bidirectional Hash MultiMap. Behaves like a regular multimap, but also implements fast reversed look-up in trade for memory. More...
 
class  BlockingQueue
 Blocking queue implementation. Blocks when no elements are present and take() is called until further elements are added using put(...) More...
 
class  CompositePredicate
 
struct  FalseBiPredicate
 
struct  FalsePredicate
 
class  FiniteBlockingQueue
 Blocking queue with a fixed size. Blocks if capacity is reached until elements are removed again. More...
 
class  FixedSizeBuffer
 
struct  Identity
 
class  LimitPredicate
 
class  NestedMap
 Composite Map with the following mapping: OuterKey -> (InnerKey -> Value) More...
 
struct  NOOP
 
class  PathHelper
 Static Helper class to get the current Path, find the projectDirectory, obtain an absolute canonical path and replace filenames. More...
 
class  ProgressPrinter
 
struct  StaticMap
 Compile-time map for compile-time configurations. More...
 
class  StopWatch
 StopWatch class to track execution time of a task. Time can be tracked explicitly (.stop()) or using RAII (on destruction) More...
 
class  TemporaryDirectory
 Creates an empty temporary directory at "/tmp/fishnet/{id}/", cleaned by OS or explicitly via TemporaryDirectory::clear() More...
 
class  ThreadPool
 
struct  TrueBiPredicate
 
struct  TruePredicate
 

Concepts

concept  Satisfies
 Metaprogramming Helper which checks whether a concept is satisfied (Futher information can found here: https://www.youtube.com/watch?v=KENynEQoqCo) Usage: Satisfies<int,[]<std::integral>{}>
 
concept  range_of
 
concept  range_over
 
concept  forward_range_of
 
concept  forward_range_over
 
concept  input_range_of
 
concept  input_range_over
 
concept  random_access_range_of
 
concept  random_access_range_over
 
concept  view_of
 
concept  view_over
 
concept  UnaryFunction
 
concept  BiFunction
 
concept  UnaryOperator
 
concept  BiOperator
 
concept  Predicate
 
concept  BiPredicate
 
concept  Producer
 
concept  Consumer
 
concept  Runnable
 
concept  HashFunction
 
concept  ReduceFunction
 
concept  HasToString
 Helper concept which checks whether a class has a toString method.
 
concept  HasHashMethod
 Helper concept which checks whether a class has a hash method.
 
concept  Hashable
 Helper concept which checks whether a class is hashable, either by having a hash method or by being compatible with std::hash.
 
concept  Mapable
 Helper concept which checks whether a class can be natively used as a key in a map, meaning it is hashable and equality comparable.
 
concept  Object
 Helper concept which checks whether a class is an object, meaning it has a string representation, is hashable, and is equality comparable.
 

Typedefs

template<typename T , typename R >
using UnaryFunction_t = std::function< R(const T &)>
 
template<typename T , typename U , typename R >
using BiFunction_t = std::function< R(const T &, const U &)>
 
template<typename T >
using UnaryOperator_t = std::function< T(const T &)>
 
template<typename T >
using BiOperator_t = std::function< T(const T &, const T &)>
 
template<typename T >
using Predicate_t = std::function< bool(const T &)>
 
template<typename T , typename R = T>
using BiPredicate_t = std::function< bool(const T &, const R &)>
 
template<typename T >
using Producer_t = std::function< T()>
 
template<typename T >
using Consumer_t = UnaryFunction_t< T, void >
 
template<typename RangeType , typename ResultType = std::ranges::range_value_t<RangeType>>
using ReduceFunction_t = std::function< ResultType(const RangeType &)>
 

Functions

constexpr size_t size (std::ranges::range auto &&range) noexcept
 
constexpr bool isEmpty (std::ranges::range auto &&range) noexcept
 
template<std::ranges::range R>
constexpr auto toVector (R &&range)
 
template<std::ranges::range R>
constexpr auto toUnorderedSet (R &&range)
 

Variables

static constexpr const char * PROJECT_NAME = "fishnet"
 

Typedef Documentation

◆ BiFunction_t

template<typename T , typename U , typename R >
using fishnet::util::BiFunction_t = typedef std::function<R(const T &, const U &)>

◆ BiOperator_t

template<typename T >
using fishnet::util::BiOperator_t = typedef std::function<T(const T &, const T &)>

◆ BiPredicate_t

template<typename T , typename R = T>
using fishnet::util::BiPredicate_t = typedef std::function<bool(const T &, const R &)>

◆ Consumer_t

template<typename T >
using fishnet::util::Consumer_t = typedef UnaryFunction_t<T,void>

◆ Predicate_t

template<typename T >
using fishnet::util::Predicate_t = typedef std::function<bool(const T &)>

◆ Producer_t

template<typename T >
using fishnet::util::Producer_t = typedef std::function<T()>

◆ ReduceFunction_t

template<typename RangeType , typename ResultType = std::ranges::range_value_t<RangeType>>
using fishnet::util::ReduceFunction_t = typedef std::function<ResultType(const RangeType &)>

◆ UnaryFunction_t

template<typename T , typename R >
using fishnet::util::UnaryFunction_t = typedef std::function<R(const T &)>

◆ UnaryOperator_t

template<typename T >
using fishnet::util::UnaryOperator_t = typedef std::function<T(const T &)>

Function Documentation

◆ isEmpty()

constexpr bool fishnet::util::isEmpty ( std::ranges::range auto &&  range)
inlineconstexprnoexcept

◆ size()

constexpr size_t fishnet::util::size ( std::ranges::range auto &&  range)
constexprnoexcept

◆ toUnorderedSet()

template<std::ranges::range R>
constexpr auto fishnet::util::toUnorderedSet ( R &&  range)
constexpr

◆ toVector()

template<std::ranges::range R>
constexpr auto fishnet::util::toVector ( R &&  range)
constexpr

Variable Documentation

◆ PROJECT_NAME

constexpr const char* fishnet::util::PROJECT_NAME = "fishnet"
staticconstexpr