CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
IncludeHandler.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
13
14#include <istream>
15#include <memory>
16
18
22 private:
23 // PImple idiom
24 struct OpaqueData;
25 OpaqueData* mData = nullptr;
26
27 public:
29 virtual ~IncludeHandler();
30
36
39
42 };
43
44} // namespace CeresEngine::ShaderCompiler
Interface for handling new include streams.
Definition IncludeHandler.hpp:21
const Vector< String > & getSearchPaths() const
Returns the constant list of search paths.
OpaqueData * mData
Definition IncludeHandler.hpp:25
virtual UPtr< std::istream > include(const String &includeName, bool useSearchPathsFirst)
Returns an input stream for the specified filename.
Vector< String > & getSearchPaths()
Returns the list of search paths.
Definition AST.hpp:33
std::unique_ptr< T, Deleter > UPtr
UPtr is a smart pointer that owns and manages another object through a pointer and disposes of that o...
Definition SmartPtr.hpp:28
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25