ALib C++ Library
Library Version: 2412 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
filescamp.hpp
Go to the documentation of this file.
1//==================================================================================================
2/// \file
3/// This header file is part of module \alib_basecamp of the \aliblong.
4///
5/// \emoji :copyright: 2013-2024 A-Worx GmbH, Germany.
6/// Published under \ref mainpage_license "Boost Software License".
7//==================================================================================================
8#ifndef HPP_ALIB_FILES_CAMP
9#define HPP_ALIB_FILES_CAMP 1
10#pragma once
12
14
15
16namespace alib {
17
18//==================================================================================================
19/// This is the reference documentation of module \alib_files_nl of the \aliblong.<br>
20/// @see
21/// A user manual with tutorial-style sample code is found in the
22/// \ref alib_mod_files "Programmer's Manual" of this module.
23//==================================================================================================
24namespace files {
25
26//==================================================================================================
27/// This is a strict singleton class representing module \alib_files.
28///
29/// The only instance is found with namespace variable \ref alib::files.
30//==================================================================================================
31class FilesCamp : public lang::Camp
32{
33 public:
34 //==========================================================================================
35 /// Constructor.<br>
36 /// While this is public, it must not be invoked as this is a strict singleton type.
37 /// (See notes in \ref alib_manual_camp_modules_campmodule).
38 //==========================================================================================
40 FilesCamp();
41
42 protected:
43 //==========================================================================================
44 /// Initializes this camp.
45 ///
46 /// @param phase The initialization phase to perform.
47 //==========================================================================================
49 virtual void bootstrap( BootstrapPhases phase ) override;
50
51 //==========================================================================================
52 /// Terminates this camp. (Nothing to do.)
53 //==========================================================================================
54 virtual void shutdown( ShutdownPhases ) override {}
55
56}; // class FilesCamp
57
58} // namespace alib[::files]
59
60/// The singleton instance of \alibcamp class \alib{files;FilesCamp}.
61extern ALIB_API files::FilesCamp FILES;
62
63} // namespace [alib]
64
65#endif // HPP_ALIB_FILES_CAMP
66
virtual void shutdown(ShutdownPhases) override
Terminates this camp. (Nothing to do.)
Definition filescamp.hpp:54
virtual ALIB_API void bootstrap(BootstrapPhases phase) override
Definition filescamp.cpp:35
#define ALIB_ASSERT_MODULE(modulename)
Definition alib.hpp:223
#define ALIB_API
Definition alib.hpp:639
Definition alib.cpp:69
ShutdownPhases
Termination levels usable with Bootstrapping ALib Camps.
Definition alib.hpp:1418
BootstrapPhases
Initialization levels usable with Bootstrapping ALib Camps.
Definition alib.hpp:1393
files::FilesCamp FILES
The singleton instance of ALib Camp class FilesCamp.
Definition filescamp.cpp:23