Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
common.hpp File Reference
#include <iostream>
#include <stdexcept>
#include <string>
#include <cmath>
#include <type_traits>
#include <limits>
+ Include dependency graph for common.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  libnest2d::DOut
 
struct  libnest2d::DErr
 
struct  libnest2d::remove_cvref< T >
 
struct  libnest2d::invoke_result< F, Args >
 
struct  libnest2d::always_false< T >
 
class  libnest2d::Double
 Only for the Radian and Degrees classes to behave as doubles. More...
 
class  libnest2d::Radians
 Data type representing radians. It supports conversion to degrees. More...
 
class  libnest2d::Degrees
 Data type representing degrees. It supports conversion to radians. More...
 
class  libnest2d::GeometryException
 
struct  libnest2d::ScalarTag
 
struct  libnest2d::BigIntTag
 
struct  libnest2d::RationalTag
 
struct  libnest2d::_NumTag< T >
 

Namespaces

namespace  libnest2d
 

Macros

#define BP2D_NOEXCEPT
 
#define BP2D_CONSTEXPR
 
#define BP2D_COMPILER_MSVC12
 

Typedefs

template<class T >
using libnest2d::remove_cvref_t = typename remove_cvref< T >::type
 
template<class T >
using libnest2d::remove_ref_t = typename std::remove_reference< T >::type
 
template<bool B, class T >
using libnest2d::enable_if_t = typename std::enable_if< B, T >::type
 
template<class F , class... Args>
using libnest2d::invoke_result_t = typename invoke_result< F, Args... >::type
 
template<class T >
using libnest2d::NumTag = typename _NumTag< remove_cvref_t< T > >::Type
 

Enumerations

enum class  libnest2d::GeomErr : std::size_t { libnest2d::OFFSET , libnest2d::MERGE , libnest2d::NFP }
 

Functions

template<class T >
DOut && libnest2d::operator<< (DOut &&out, T &&d)
 
template<class T >
DErr && libnest2d::operator<< (DErr &&out, T &&d)
 
DOut libnest2d::dout ()
 
DErr libnest2d::derr ()
 
bool libnest2d::operator== (const Degrees &deg, const Radians &rads)
 
bool libnest2d::operator== (const Radians &rads, const Degrees &deg)
 
template<class T >
libnest2d::abs (const T &v, ScalarTag)
 A local version for abs that is garanteed to work with libnest2d types.
 
template<class T >
libnest2d::abs (const T &v)
 
template<class T2 , class T1 >
T2 libnest2d::cast (const T1 &v, ScalarTag, ScalarTag)
 
template<class T2 , class T1 >
T2 libnest2d::cast (const T1 &v)
 

Variables

const double BP2D_CONSTEXPR libnest2d::Pi = 3.141592653589793238463
 
const double BP2D_CONSTEXPR libnest2d::Pi_2 = 2*Pi
 
const std::string libnest2d::ERROR_STR []
 

Class Documentation

◆ libnest2d::DOut

struct libnest2d::DOut
+ Collaboration diagram for libnest2d::DOut:
Class Members
ostream & out = std::cout

◆ libnest2d::DErr

struct libnest2d::DErr
+ Collaboration diagram for libnest2d::DErr:
Class Members
ostream & out = std::cerr

◆ libnest2d::remove_cvref

struct libnest2d::remove_cvref
template<class T>
struct libnest2d::remove_cvref< T >
Class Members
typedef typename type >::type type

◆ libnest2d::invoke_result

struct libnest2d::invoke_result
template<class F, class... Args>
struct libnest2d::invoke_result< F, Args >
Class Members
typedef typename type type

◆ libnest2d::ScalarTag

struct libnest2d::ScalarTag

◆ libnest2d::BigIntTag

struct libnest2d::BigIntTag

◆ libnest2d::RationalTag

struct libnest2d::RationalTag

◆ libnest2d::_NumTag

struct libnest2d::_NumTag
template<class T>
struct libnest2d::_NumTag< T >
Class Members
typedef value, ScalarTag > Type

Macro Definition Documentation

◆ BP2D_COMPILER_MSVC12

#define BP2D_COMPILER_MSVC12

◆ BP2D_CONSTEXPR

#define BP2D_CONSTEXPR

◆ BP2D_NOEXCEPT

#define BP2D_NOEXCEPT