opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Classes | Concepts | Functions
osc::detail Namespace Reference

Classes

class  PerfTimer
 
struct  SizeHelper
 
struct  SizeHelper< T >
 
class  SpscImplementation
 
class  UndoRedoEntryData
 
class  UndoRedoEntryMetadata
 

Concepts

concept  HasTupleSize
 
concept  HasExtent
 
concept  CompileTimeSizeGreaterThanOrEqualTo
 
concept  CompileTimeSizeEqualTo
 
concept  OutputStreamable
 
concept  HasConverter
 

Functions

template<std::ranges::input_range R, class Proj = std::identity>
requires std::convertible_to<typename std::projected<std::ranges::iterator_t<R>, Proj>::value_type, const Vector3&>
constexpr AABB bounding_aabb_of_nonempty_range (R &&r, Proj proj={})
 
template<typename T >
Vector< T, 3 > combine (const Vector< T, 3 > &a, const Vector< T, 3 > &b, T ascl, T bscl)
 Make a linear combination of two vectors and return the result.
 
template<typename T >
Vector< T, 3 > scale (const Vector< T, 3 > &v, T desiredLength)
 
template<typename T , size_t N>
requires (N != std::dynamic_extent)
constexpr size_t compile_time_size (std::span< T, N >)
 
void on_assertion_failure (std::string_view failing_code, std::string_view function_name, std::string_view file_name, unsigned int file_line)
 
size_t allocate_perf_mesurement_id (std::string_view label, std::string_view filename, unsigned int line)
 
void submit_perf_measurement (size_t id, PerfClock::time_point start, PerfClock::time_point end)
 
template<typename Variant , typename T , size_t I = 0>
constexpr size_t variant_index_impl ()
 
template<typename... Types>
auto to_variant (Typelist< Types... >) -> std::variant< Types... >
 

Function Documentation

◆ allocate_perf_mesurement_id()

size_t osc::detail::allocate_perf_mesurement_id ( std::string_view  label,
std::string_view  filename,
unsigned int  line 
)

◆ bounding_aabb_of_nonempty_range()

template<std::ranges::input_range R, class Proj = std::identity>
requires std::convertible_to<typename std::projected<std::ranges::iterator_t<R>, Proj>::value_type, const Vector3&>
constexpr AABB osc::detail::bounding_aabb_of_nonempty_range ( R &&  r,
Proj  proj = {} 
)
constexpr

◆ combine()

template<typename T >
Vector< T, 3 > osc::detail::combine ( const Vector< T, 3 > &  a,
const Vector< T, 3 > &  b,
T  ascl,
T  bscl 
)

Make a linear combination of two vectors and return the result.

◆ compile_time_size()

template<typename T , size_t N>
requires (N != std::dynamic_extent)
constexpr size_t osc::detail::compile_time_size ( std::span< T, N )
constexpr

◆ on_assertion_failure()

void osc::detail::on_assertion_failure ( std::string_view  failing_code,
std::string_view  function_name,
std::string_view  file_name,
unsigned int  file_line 
)

◆ scale()

template<typename T >
Vector< T, 3 > osc::detail::scale ( const Vector< T, 3 > &  v,
T  desiredLength 
)

◆ submit_perf_measurement()

void osc::detail::submit_perf_measurement ( size_t  id,
PerfClock::time_point  start,
PerfClock::time_point  end 
)

◆ to_variant()

template<typename... Types>
auto osc::detail::to_variant ( Typelist< Types... >  ) -> std::variant< Types... >

◆ variant_index_impl()

template<typename Variant , typename T , size_t I = 0>
constexpr size_t osc::detail::variant_index_impl ( )
constexpr