Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Variables
foray_basics.hpp File Reference
#include <memory>
#include <stdint.h>
#include <string>
#include <string_view>

Go to the source code of this file.

Classes

class  foray::NoMoveDefaults
 Simple types for supressing automatic definition of duplicating move constructors & operator. More...
 
class  foray::Polymorphic
 Simple type for forcing a type to be polymorphic. More...
 

Namespaces

namespace  foray
 

Macros

#define FORAY_DEBUG   1
 
#define FORAY_GETTER_V(member)
 Return value.
 
#define FORAY_SETTER_V(member)
 set by passing a value
 
#define FORAY_GETTER_MR(member)
 Return mutable reference.
 
#define FORAY_GETTER_CR(member)
 Return constant reference.
 
#define FORAY_SETTER_R(member)
 set by passing a constant reference
 
#define FORAY_GETTER_R(member)
 Shorthand for mutable & constant reference getters.
 
#define FORAY_PROPERTY_V(member)
 Getter+Setter shorthand for value types.
 
#define FORAY_PROPERTY_R(member)
 Getter+Setter shorthand for reference types.
 

Typedefs

using foray::fp32_t = float
 stdint.h style 32 bit floating point type alias (float)
 
using foray::fp64_t = double
 stdint.h style 64 bit floating point type alias (double)
 

Variables

constexpr uint32_t foray::INFLIGHT_FRAME_COUNT = 2
 Inflight frame count is the amount of frames 'in flight' aka frames recorded on the host before waiting for the device to finish rendering a previous frame.
 

Macro Definition Documentation

◆ FORAY_DEBUG

#define FORAY_DEBUG   1

◆ FORAY_GETTER_CR

#define FORAY_GETTER_CR (   member)
Value:
inline const auto& Get##member() const \
{ \
return m##member; \
}

Return constant reference.

◆ FORAY_GETTER_MR

#define FORAY_GETTER_MR (   member)
Value:
inline auto& Get##member() \
{ \
return m##member; \
}

Return mutable reference.

◆ FORAY_GETTER_R

#define FORAY_GETTER_R (   member)
Value:
FORAY_GETTER_MR(member) \
FORAY_GETTER_CR(member)
#define FORAY_GETTER_MR(member)
Return mutable reference.
Definition foray_basics.hpp:54

Shorthand for mutable & constant reference getters.

◆ FORAY_GETTER_V

#define FORAY_GETTER_V (   member)
Value:
inline auto Get##member() const \
{ \
return m##member; \
}

Return value.

◆ FORAY_PROPERTY_R

#define FORAY_PROPERTY_R (   member)
Value:
FORAY_GETTER_MR(member) \
FORAY_GETTER_CR(member) \
FORAY_SETTER_R(member)

Getter+Setter shorthand for reference types.

◆ FORAY_PROPERTY_V

#define FORAY_PROPERTY_V (   member)
Value:
FORAY_GETTER_V(member) \
FORAY_SETTER_V(member)
#define FORAY_GETTER_V(member)
Return value.
Definition foray_basics.hpp:39

Getter+Setter shorthand for value types.

◆ FORAY_SETTER_R

#define FORAY_SETTER_R (   member)
Value:
template <typename TIn> \
inline auto& Set##member(const TIn& value) \
{ \
m##member = value; \
return *this; \
}

set by passing a constant reference

◆ FORAY_SETTER_V

#define FORAY_SETTER_V (   member)
Value:
template <typename TIn> \
inline auto& Set##member(TIn value) \
{ \
m##member = value; \
return *this; \
}

set by passing a value