Silicon
A realtime platform for creating interactive media.
Si Namespace Reference

Namespaces

namespace  Engine
 
namespace  Event
 
namespace  graphics
 A base for a system that allows handles to be attached to other handles and recreating handles and their dependents.
 
namespace  Log
 
namespace  Vulkan
 The namespace for everything Vulkan related.
 
namespace  VulkanRenderer
 

Classes

class  Asset
 
struct  GraphList
 List for use in Graphs. More...
 
struct  GraphVector
 Vector for use in Graphs. More...
 
class  Node
 
class  PlainTextAsset
 
class  Renderer
 The Renderer class is the base class for all Renderer implementations. More...
 
struct  RequestableItem
 A convenience structure for representing required or optional items that can be requested. More...
 
class  Shader
 
class  Sub
 The Subscriber class allows you to listen in on published events of type T. More...
 
struct  Vertex
 
class  Window
 

Typedefs

template<typename T >
using Allocator = boost::pool_allocator< T >
 
template<typename T >
using Future = tf::Future< T >
 
using AsyncExecutor = tf::Executor
 
using NodeGraph = Graph< NotNull< Node * >, GraphList >
 
using Vec2 = glm::vec2
 
using Vec3 = glm::vec3
 
template<typename T >
using NotNull = gsl::strict_not_null< T >
 
template<typename T >
using Vector = std::vector< T, Allocator< T > >
 
template<typename T >
using List = std::list< T, Allocator< T > >
 
template<typename Key , typename Value , typename Compare = std::less<Key>>
using Map = std::map< Key, Value, Compare, Allocator< std::pair< const Key, Value > > >
 A STL map with a Silicon allocator. More...
 
template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
using HashMap = std::unordered_map< Key, Value, Hash, KeyEqual, Allocator< std::pair< const Key, Value > > >
 A STL unordered map with a Silicon allocator. More...
 
template<typename T , typename ContainerT = GraphVector>
using Graph = boost::adjacency_list< ContainerT, ContainerT, boost::bidirectionalS, T >
 Container for representing relationships between objects. More...
 

Enumerations

enum class  Locale { en_US }
 

Functions

AsyncExecutorGetAsyncExecutor ()
 
template<typename T , typename F >
Future< T > Async (F &&f)
 
template<typename F >
void Async (F &&f)
 
template<typename T >
void Pub (const T &data)
 Publishes an event of type T to all subscribers immediately. More...
 
void SetLocale (Locale locale)
 
bool AddLocalizationFile (Locale locale, const std::string &filename)
 
std::string GetLocalized (const std::string &key)
 
template<typename... Args>
void Trace (Args &&... args)
 
template<typename... Args>
void Info (Args &&... args)
 
template<typename... Args>
void Debug (Args &&... args)
 
template<typename... Args>
void Warn (Args &&... args)
 
template<typename... Args>
void Error (Args &&... args)
 
template<typename... Args>
void Critical (Args &&... args)
 
bool Initialize ()
 
void SetLoop (std::function< bool()> loop)
 
bool Loop ()
 
void Run ()
 
void Deinitialize ()
 
void InitializeModules ()
 
void DeinitializeModules ()
 

Typedef Documentation

◆ Allocator

template<typename T >
using Si::Allocator = typedef boost::pool_allocator<T>

Definition at line 38 of file Allocator.hpp.

◆ AsyncExecutor

using Si::AsyncExecutor = typedef tf::Executor

Definition at line 41 of file Async.hpp.

◆ Future

template<typename T >
using Si::Future = typedef tf::Future<T>

Definition at line 39 of file Async.hpp.

◆ Graph

template<typename T , typename ContainerT = GraphVector>
using Si::Graph = typedef boost::adjacency_list<ContainerT, ContainerT, boost::bidirectionalS, T>

Container for representing relationships between objects.

Definition at line 117 of file Types.hpp.

◆ HashMap

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
using Si::HashMap = typedef std::unordered_map<Key, Value, Hash, KeyEqual, Allocator<std::pair<const Key, Value> >>

A STL unordered map with a Silicon allocator.

Definition at line 67 of file Types.hpp.

◆ List

template<typename T >
using Si::List = typedef std::list<T, Allocator<T> >

Definition at line 55 of file Types.hpp.

◆ Map

template<typename Key , typename Value , typename Compare = std::less<Key>>
using Si::Map = typedef std::map<Key, Value, Compare, Allocator<std::pair<const Key, Value> >>

A STL map with a Silicon allocator.

Definition at line 61 of file Types.hpp.

◆ NodeGraph

using Si::NodeGraph = typedef Graph<NotNull<Node *>, GraphList>

Definition at line 42 of file Node.hpp.

◆ NotNull

template<typename T >
using Si::NotNull = typedef gsl::strict_not_null<T>

Definition at line 48 of file Types.hpp.

◆ Vec2

using Si::Vec2 = typedef glm::vec2

Definition at line 40 of file Vertex.hpp.

◆ Vec3

using Si::Vec3 = typedef glm::vec3

Definition at line 41 of file Vertex.hpp.

◆ Vector

template<typename T >
using Si::Vector = typedef std::vector<T, Allocator<T> >

Definition at line 52 of file Types.hpp.

Enumeration Type Documentation

◆ Locale

enum class Si::Locale
strong
Enumerator
en_US 

Definition at line 38 of file Localization.hpp.

Function Documentation

◆ AddLocalizationFile()

bool Si::AddLocalizationFile ( Locale  locale,
const std::string filename 
)

Definition at line 91 of file Localization.cpp.

◆ Async() [1/2]

template<typename T , typename F >
Future< T > Si::Async ( F &&  f)

Definition at line 46 of file Async.hpp.

◆ Async() [2/2]

template<typename F >
void Si::Async ( F &&  f)

Definition at line 52 of file Async.hpp.

◆ Critical()

template<typename... Args>
void Si::Critical ( Args &&...  args)

Definition at line 72 of file Log.hpp.

◆ Debug()

template<typename... Args>
void Si::Debug ( Args &&...  args)

Definition at line 54 of file Log.hpp.

◆ Deinitialize()

void Si::Deinitialize ( )

Definition at line 59 of file Silicon.cpp.

◆ DeinitializeModules()

void Si::DeinitializeModules ( )

◆ Error()

template<typename... Args>
void Si::Error ( Args &&...  args)

Definition at line 66 of file Log.hpp.

◆ GetAsyncExecutor()

AsyncExecutor & Si::GetAsyncExecutor ( )

Definition at line 41 of file Async.cpp.

◆ GetLocalized()

std::string Si::GetLocalized ( const std::string key)

Definition at line 81 of file Localization.cpp.

◆ Info()

template<typename... Args>
void Si::Info ( Args &&...  args)

Definition at line 48 of file Log.hpp.

◆ Initialize()

bool Si::Initialize ( )

Definition at line 45 of file Silicon.cpp.

◆ InitializeModules()

void Si::InitializeModules ( )

◆ Loop()

bool Si::Loop ( )

Definition at line 69 of file Silicon.cpp.

◆ Pub()

template<typename T >
void Si::Pub ( const T &  data)

Publishes an event of type T to all subscribers immediately.

Template Parameters
TThe type of event to publish.
Parameters
dataAn instance of the event to broadcast to all subscribers.

Definition at line 101 of file Event.hpp.

◆ Run()

void Si::Run ( )

Definition at line 36 of file Run.cpp.

◆ SetLocale()

void Si::SetLocale ( Locale  locale)

Definition at line 53 of file Localization.cpp.

◆ SetLoop()

void Si::SetLoop ( std::function< bool()>  loop)

Definition at line 64 of file Silicon.cpp.

◆ Trace()

template<typename... Args>
void Si::Trace ( Args &&...  args)

Definition at line 42 of file Log.hpp.

◆ Warn()

template<typename... Args>
void Si::Warn ( Args &&...  args)

Definition at line 60 of file Log.hpp.