1 // =================================
 2 // Copyright (c) 2020 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef SNGCPP_PP_FILE_INCLUDED
 7 #define SNGCPP_PP_FILE_INCLUDED
 8 #include <sngcpp/pp/PPApi.hpp>
 9 #include <set>
10 #include <string>
11 
12 namespace sngcpp { namespace pp {
13 
14 struct File 
15 {
16     File(const std::u32string& content_);
17     File(const std::u32string&& content_);
18     File(const File&) = default;
19     File(File&&) = default;
20     File& operator=(const File& file) = default;
21     File& operator=(File&& file) = default;
22     std::u32string content;
23 };
24 
25 class ProjectHeaderFileSet 
26 {
27 public:
28     void AddProjectHeaderFile(const std::string& headerFilePath);
29     bool IsProjectHeaderFile(const std::string& headerFilePath) const;
30 private:
31     std::set<std::string> headerFileSet;
32 };
33 
34 } } // namespace sngcpp::pp
35 
36 #endif // SNGCPP_PP_FILE_INCLUDED