├── .gitattributes ├── LibAsioTest-2010.sln ├── LibAsioTest.sln ├── LibAsioTest.suo ├── LibAsioTest ├── Common.props ├── Common.vsprops ├── Common_x64.vsprops ├── LibAsioTest.2.cpp ├── LibAsioTest.cpp ├── LibAsioTest.h ├── LibAsioTest.rc ├── LibAsioTest.vcproj ├── LibAsioTest.vcxproj ├── Resource.h ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── example ├── Common.props ├── Common.vsprops ├── Common_x64.props ├── Common_x64.vsprops ├── IAsioFacade.cpp ├── IAsioFacade.h ├── LibAsio.aps ├── LibAsio.cpp ├── LibAsio.def ├── LibAsio.h ├── LibAsio.rc ├── LibAsio.vcproj ├── LibAsio.vcxproj ├── LibAsioTest.cpp ├── LibAsioTest.h ├── LibAsioTest.rc ├── LibAsioTest.vcproj ├── Resource.h ├── cpp03 │ └── http │ │ └── server │ │ ├── ConnectionHandler.h │ │ ├── Jamfile │ │ ├── Jamfile.v2 │ │ ├── Subscribe.h │ │ ├── client.hpp │ │ ├── connection.cpp │ │ ├── connection.hpp │ │ ├── connection_manager.hpp │ │ ├── facade.cpp │ │ ├── facade.hpp │ │ ├── io_service_pool.cpp │ │ ├── io_service_pool.hpp │ │ ├── main.cpp │ │ ├── resource_manager.h │ │ ├── server.hpp │ │ ├── subscribe_subject.cpp │ │ ├── subscribe_subject.h │ │ ├── timer.cpp │ │ ├── timer.hpp │ │ └── timer_manager.hpp ├── res │ └── LibAsio.rc2 ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── include ├── pantheios │ ├── assert.h │ ├── backend.h │ ├── backends │ │ ├── be.N.h │ │ ├── be.lrsplit.h │ │ ├── bec.ACE.h │ │ ├── bec.COMErrorObject.h │ │ ├── bec.WindowsConsole.h │ │ ├── bec.WindowsDebugger.h │ │ ├── bec.WindowsEventLog.h │ │ ├── bec.WindowsMessageBox.h │ │ ├── bec.WindowsSyslog.h │ │ ├── bec.console.h │ │ ├── bec.fail.h │ │ ├── bec.file.h │ │ ├── bec.fprintf.h │ │ ├── bec.null.h │ │ ├── bec.speech.h │ │ ├── bec.syslog.h │ │ └── bec.test.h │ ├── fileline.h │ ├── frontend.h │ ├── frontends │ │ ├── fe.N.h │ │ ├── fe.WindowsRegistry.h │ │ ├── fe.all.h │ │ ├── fe.fail.h │ │ ├── fe.null.h │ │ ├── fe.simple.h │ │ └── stock.h │ ├── implicit_link │ │ ├── appl.h │ │ ├── be.ACE.h │ │ ├── be.COMErrorObject.WithCallback.h │ │ ├── be.COMErrorObject.h │ │ ├── be.N.h │ │ ├── be.WindowsConsole.WithCallback.h │ │ ├── be.WindowsConsole.h │ │ ├── be.WindowsDebugger.WithCallback.h │ │ ├── be.WindowsDebugger.h │ │ ├── be.WindowsEventLog.h │ │ ├── be.WindowsMessageBox.h │ │ ├── be.WindowsSyslog.WithCallback.h │ │ ├── be.WindowsSyslog.h │ │ ├── be.console.h │ │ ├── be.fail.h │ │ ├── be.file.WithCallback.h │ │ ├── be.file.h │ │ ├── be.fprintf.WithCallback.h │ │ ├── be.fprintf.h │ │ ├── be.lrsplit.h │ │ ├── be.null.h │ │ ├── be.speech.WithCallback.h │ │ ├── be.speech.h │ │ ├── be.syslog.WithCallback.h │ │ ├── be.syslog.h │ │ ├── be.test.h │ │ ├── bec.ACE.h │ │ ├── bec.COMErrorObject.WithCallback.h │ │ ├── bec.COMErrorObject.h │ │ ├── bec.WindowsConsole.WithCallback.h │ │ ├── bec.WindowsConsole.h │ │ ├── bec.WindowsDebugger.WithCallback.h │ │ ├── bec.WindowsDebugger.h │ │ ├── bec.WindowsEventLog.h │ │ ├── bec.WindowsMessageBox.h │ │ ├── bec.WindowsSyslog.WithCallback.h │ │ ├── bec.WindowsSyslog.h │ │ ├── bec.console.WithCallback.h │ │ ├── bec.console.h │ │ ├── bec.fail.h │ │ ├── bec.file.WithCallback.h │ │ ├── bec.file.h │ │ ├── bec.fprintf.WithCallback.h │ │ ├── bec.fprintf.h │ │ ├── bec.null.h │ │ ├── bec.speech.WithCallback.h │ │ ├── bec.speech.h │ │ ├── bec.syslog.WithCallback.h │ │ ├── bec.syslog.h │ │ ├── bec.test.h │ │ ├── bel.ACE.h │ │ ├── bel.COMErrorObject.WithCallback.h │ │ ├── bel.COMErrorObject.h │ │ ├── bel.WindowsConsole.WithCallback.h │ │ ├── bel.WindowsConsole.h │ │ ├── bel.WindowsDebugger.WithCallback.h │ │ ├── bel.WindowsDebugger.h │ │ ├── bel.WindowsEventLog.h │ │ ├── bel.WindowsMessageBox.h │ │ ├── bel.WindowsSyslog.WithCallback.h │ │ ├── bel.WindowsSyslog.h │ │ ├── bel.console.h │ │ ├── bel.fail.h │ │ ├── bel.file.WithCallback.h │ │ ├── bel.file.h │ │ ├── bel.fprintf.WithCallback.h │ │ ├── bel.fprintf.h │ │ ├── bel.null.h │ │ ├── bel.speech.WithCallback.h │ │ ├── bel.speech.h │ │ ├── bel.syslog.h │ │ ├── ber.ACE.h │ │ ├── ber.COMErrorObject.WithCallback.h │ │ ├── ber.COMErrorObject.h │ │ ├── ber.WindowsConsole.WithCallback.h │ │ ├── ber.WindowsConsole.h │ │ ├── ber.WindowsDebugger.WithCallback.h │ │ ├── ber.WindowsDebugger.h │ │ ├── ber.WindowsEventLog.h │ │ ├── ber.WindowsMessageBox.h │ │ ├── ber.WindowsSyslog.WithCallback.h │ │ ├── ber.WindowsSyslog.h │ │ ├── ber.console.h │ │ ├── ber.fail.h │ │ ├── ber.file.WithCallback.h │ │ ├── ber.file.h │ │ ├── ber.fprintf.WithCallback.h │ │ ├── ber.fprintf.h │ │ ├── ber.null.h │ │ ├── ber.speech.WithCallback.h │ │ ├── ber.speech.h │ │ ├── ber.syslog.h │ │ ├── core.h │ │ ├── fe.N.WithCallback.h │ │ ├── fe.N.h │ │ ├── fe.WindowsRegistry.WithCallback.h │ │ ├── fe.WindowsRegistry.h │ │ ├── fe.all.WithCallback.h │ │ ├── fe.all.h │ │ ├── fe.fail.h │ │ ├── fe.null.WithCallback.h │ │ ├── fe.null.h │ │ ├── fe.simple.WithCallback.h │ │ ├── fe.simple.h │ │ ├── implicit_link_base_.h │ │ └── util.h │ ├── init_codes.h │ ├── inserters.hpp │ ├── inserters │ │ ├── adaptor.hpp │ │ ├── args.hpp │ │ ├── b.hpp │ │ ├── b64.hpp │ │ ├── blob.hpp │ │ ├── boolean.hpp │ │ ├── ch.hpp │ │ ├── character.hpp │ │ ├── exception.hpp │ │ ├── fmt.hpp │ │ ├── hex_ptr.hpp │ │ ├── hostid.hpp │ │ ├── i.hpp │ │ ├── ids.hpp │ │ ├── integer.hpp │ │ ├── m2w.hpp │ │ ├── p.hpp │ │ ├── pad.hpp │ │ ├── pointer.hpp │ │ ├── processid.hpp │ │ ├── real.hpp │ │ ├── slice.hpp │ │ ├── threadid.hpp │ │ ├── variant_bool.hpp │ │ ├── vb.hpp │ │ ├── w2m.hpp │ │ ├── xi.hpp │ │ └── xp.hpp │ ├── internal │ │ ├── generated │ │ │ ├── log_dispatch_functions.h │ │ │ ├── log_dispatch_functions.hpp │ │ │ ├── log_functions.c │ │ │ ├── log_functions.h │ │ │ ├── log_functions.hpp │ │ │ └── log_sev_functions.hpp │ │ ├── initialiser.hpp │ │ ├── lean.h │ │ ├── nox.h │ │ ├── safestr.h │ │ ├── stock_levels.hpp │ │ ├── string_encoding.h │ │ ├── threading.h │ │ └── winlean.h │ ├── pan.hpp │ ├── pantheios.h │ ├── pantheios.hpp │ ├── quality │ │ └── contract.h │ ├── severity │ │ └── levels.hpp │ ├── trace.h │ └── util │ │ ├── backends │ │ ├── arguments.h │ │ └── context.hpp │ │ ├── com │ │ └── exception_helpers.hpp │ │ ├── core │ │ └── apidefs.hpp │ │ ├── memory │ │ ├── auto_buffer_selector.hpp │ │ └── inserters.hpp │ │ ├── severity │ │ ├── ACE.h │ │ ├── WindowsEventLog.h │ │ └── syslog.h │ │ ├── string │ │ ├── snprintf.h │ │ └── strdup.h │ │ ├── system │ │ ├── hostname.h │ │ ├── processid.h │ │ └── threadid.h │ │ ├── test │ │ ├── compiler_warnings_suppression.first_include.h │ │ └── compiler_warnings_suppression.last_include.h │ │ └── time │ │ └── currenttime.h └── xml │ ├── include.cpp │ ├── include.hpp │ ├── pugiconfig.hpp │ ├── pugixml.cpp │ └── pugixml.hpp └── utils ├── Common.cpp ├── Common.h ├── Http.cpp ├── Http.h ├── ObjectHandle.h ├── Singleton2.cpp ├── Singleton2.h ├── UnicodeConverter.cpp ├── UnicodeConverter.h ├── UriCodec.cpp ├── Utils.cpp ├── Utils.h ├── log.cpp ├── log.h ├── md5.cpp ├── md5.h ├── zmq_helper.cpp └── zmq_helper.h /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /LibAsioTest-2010.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibAsio", "example\LibAsio.vcxproj", "{00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}" 5 | EndProject 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibAsioTest", "LibAsioTest\LibAsioTest.vcxproj", "{2BA35704-2D5E-4141-A088-04F7EC5C21B0}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|Win32.Build.0 = Debug|Win32 18 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|x64.ActiveCfg = Debug|x64 19 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|x64.Build.0 = Debug|x64 20 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|Win32.ActiveCfg = Release|Win32 21 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|Win32.Build.0 = Release|Win32 22 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|x64.ActiveCfg = Release|x64 23 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|x64.Build.0 = Release|x64 24 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Debug|Win32.ActiveCfg = Debug|Win32 25 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Debug|Win32.Build.0 = Debug|Win32 26 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Debug|x64.ActiveCfg = Debug|x64 27 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Release|Win32.ActiveCfg = Release|Win32 28 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Release|Win32.Build.0 = Release|Win32 29 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Release|x64.ActiveCfg = Release|x64 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /LibAsioTest.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibAsio", "example\LibAsio.vcproj", "{00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}" 5 | EndProject 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibAsioTest", "LibAsioTest\LibAsioTest.vcproj", "{2BA35704-2D5E-4141-A088-04F7EC5C21B0}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|Win32.Build.0 = Debug|Win32 18 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|x64.ActiveCfg = Debug|x64 19 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Debug|x64.Build.0 = Debug|x64 20 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|Win32.ActiveCfg = Release|Win32 21 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|Win32.Build.0 = Release|Win32 22 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|x64.ActiveCfg = Release|x64 23 | {00CEA8D0-EAEB-458E-BC0F-C4039707B0EF}.Release|x64.Build.0 = Release|x64 24 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Debug|Win32.ActiveCfg = Debug|Win32 25 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Debug|Win32.Build.0 = Debug|Win32 26 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Debug|x64.ActiveCfg = Debug|x64 27 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Release|Win32.ActiveCfg = Release|Win32 28 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Release|Win32.Build.0 = Release|Win32 29 | {2BA35704-2D5E-4141-A088-04F7EC5C21B0}.Release|x64.ActiveCfg = Release|x64 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /LibAsioTest.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest.suo -------------------------------------------------------------------------------- /LibAsioTest/Common.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | <_ProjectFileVersion>10.0.40219.1 5 | 6 | 7 | 8 | $(SolutionDir)/example/cpp03/http/server;$(SolutionDir)/UI;$(SolutionDir)/UI/ListCtrlEx;$(SolutionDir)/UI/Layout;$(SolutionDir)/UI/CGridListCtrlEx;$(SolutionDir)/utils;$(SolutionDir)/应用层;$(SolutionDir)/应用层/include;$(SolutionDir)/应用层/src;$(SolutionDir)/include;$(SolutionDir)/include/xml;$(ProjectDir)/;%(AdditionalIncludeDirectories) 9 | 10 | 11 | $(SolutionDir)\lib\x86;$(SolutionDir)\lib;%(AdditionalLibraryDirectories) 12 | 13 | 14 | -------------------------------------------------------------------------------- /LibAsioTest/Common.vsprops: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/Common.vsprops -------------------------------------------------------------------------------- /LibAsioTest/Common_x64.vsprops: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/Common_x64.vsprops -------------------------------------------------------------------------------- /LibAsioTest/LibAsioTest.2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/LibAsioTest.2.cpp -------------------------------------------------------------------------------- /LibAsioTest/LibAsioTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/LibAsioTest.cpp -------------------------------------------------------------------------------- /LibAsioTest/LibAsioTest.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "resource.h" 4 | -------------------------------------------------------------------------------- /LibAsioTest/LibAsioTest.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/LibAsioTest.rc -------------------------------------------------------------------------------- /LibAsioTest/LibAsioTest.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/LibAsioTest.vcproj -------------------------------------------------------------------------------- /LibAsioTest/Resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/Resource.h -------------------------------------------------------------------------------- /LibAsioTest/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/stdafx.cpp -------------------------------------------------------------------------------- /LibAsioTest/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/stdafx.h -------------------------------------------------------------------------------- /LibAsioTest/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/LibAsioTest/targetver.h -------------------------------------------------------------------------------- /example/Common.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | <_ProjectFileVersion>10.0.40219.1 5 | 6 | 7 | 8 | $(SolutionDir)/example/cpp03/http/server;$(SolutionDir)/UI;$(SolutionDir)/UI/ListCtrlEx;$(SolutionDir)/UI/Layout;$(SolutionDir)/UI/CGridListCtrlEx;$(SolutionDir)/utils;$(SolutionDir)/应用层;$(SolutionDir)/应用层/include;$(SolutionDir)/应用层/src;$(SolutionDir)/include;$(SolutionDir)/include/xml;$(ProjectDir)/;$(SolutionDir)\..\..\util_lib\Boost\include\boost-1_56;%(AdditionalIncludeDirectories) 9 | 1Byte 10 | true 11 | 12 | 13 | $(SolutionDir)\lib\x86;$(SolutionDir)\lib;%(AdditionalLibraryDirectories) 14 | 15 | 16 | -------------------------------------------------------------------------------- /example/Common.vsprops: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/Common.vsprops -------------------------------------------------------------------------------- /example/Common_x64.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | <_ProjectFileVersion>10.0.40219.1 5 | 6 | 7 | 8 | $(SolutionDir)/example/cpp03/http/server;$(SolutionDir)/UI;$(SolutionDir)/UI/Layout;$(SolutionDir)/UI/CGridListCtrlEx;$(SolutionDir)/UI/ListCtrlEx;$(SolutionDir)/utils;$(SolutionDir)/应用层;$(SolutionDir)/应用层/include;$(SolutionDir)/应用层/src;$(SolutionDir)/include;$(SolutionDir)/include/xml;$(ProjectDir)/;%(AdditionalIncludeDirectories) 9 | 10 | 11 | $(SolutionDir)\lib\x64;$(SolutionDir)\lib;%(AdditionalLibraryDirectories) 12 | 13 | 14 | -------------------------------------------------------------------------------- /example/Common_x64.vsprops: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/Common_x64.vsprops -------------------------------------------------------------------------------- /example/IAsioFacade.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/IAsioFacade.cpp -------------------------------------------------------------------------------- /example/IAsioFacade.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/IAsioFacade.h -------------------------------------------------------------------------------- /example/LibAsio.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsio.aps -------------------------------------------------------------------------------- /example/LibAsio.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsio.cpp -------------------------------------------------------------------------------- /example/LibAsio.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsio.def -------------------------------------------------------------------------------- /example/LibAsio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsio.h -------------------------------------------------------------------------------- /example/LibAsio.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsio.rc -------------------------------------------------------------------------------- /example/LibAsio.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsio.vcproj -------------------------------------------------------------------------------- /example/LibAsioTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsioTest.cpp -------------------------------------------------------------------------------- /example/LibAsioTest.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "resource.h" 4 | -------------------------------------------------------------------------------- /example/LibAsioTest.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsioTest.rc -------------------------------------------------------------------------------- /example/LibAsioTest.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/LibAsioTest.vcproj -------------------------------------------------------------------------------- /example/Resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/Resource.h -------------------------------------------------------------------------------- /example/cpp03/http/server/ConnectionHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/cpp03/http/server/ConnectionHandler.h -------------------------------------------------------------------------------- /example/cpp03/http/server/Jamfile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) 3 | # 4 | # Distributed under the Boost Software License, Version 1.0. (See accompanying 5 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 | # 7 | 8 | subproject libs/asio/example/http/server ; 9 | 10 | project boost : $(BOOST_ROOT) ; 11 | 12 | if $(UNIX) 13 | { 14 | switch $(JAMUNAME) 15 | { 16 | case SunOS* : 17 | { 18 | SOCKET_LIBS = socket nsl ; 19 | } 20 | } 21 | } 22 | 23 | exe http_server 24 | : @boost/libs/thread/build/boost_thread 25 | @boost/libs/system/build/boost_system 26 | connection.cpp 27 | connection_manager.cpp 28 | main.cpp 29 | mime_types.cpp 30 | reply.cpp 31 | request_handler.cpp 32 | request_parser.cpp 33 | server.cpp 34 | : $(BOOST_ROOT) 35 | ../../../../.. 36 | BOOST_ALL_NO_LIB=1 37 | multi 38 | <*>ws2_32 39 | <*>mswsock 40 | $(SOCKET_LIBS) 41 | ; 42 | -------------------------------------------------------------------------------- /example/cpp03/http/server/Jamfile.v2: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) 3 | # 4 | # Distributed under the Boost Software License, Version 1.0. (See accompanying 5 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 | # 7 | 8 | import os ; 9 | 10 | if [ os.name ] = SOLARIS 11 | { 12 | lib socket ; 13 | lib nsl ; 14 | } 15 | else if [ os.name ] = NT 16 | { 17 | lib ws2_32 ; 18 | lib mswsock ; 19 | } 20 | else if [ os.name ] = HPUX 21 | { 22 | lib ipv6 ; 23 | } 24 | 25 | exe server 26 | : connection.cpp 27 | connection_manager.cpp 28 | main.cpp 29 | mime_types.cpp 30 | reply.cpp 31 | request_handler.cpp 32 | request_parser.cpp 33 | server.cpp 34 | /boost/system//boost_system 35 | /boost/thread//boost_thread 36 | : BOOST_ALL_NO_LIB=1 37 | multi 38 | SOLARIS:socket 39 | SOLARIS:nsl 40 | NT:_WIN32_WINNT=0x0501 41 | NT,gcc:ws2_32 42 | NT,gcc:mswsock 43 | NT,gcc-cygwin:__USE_W32_SOCKETS 44 | HPUX,gcc:_XOPEN_SOURCE_EXTENDED 45 | HPUX:ipv6 46 | ; 47 | -------------------------------------------------------------------------------- /example/cpp03/http/server/Subscribe.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include "connection.hpp" 7 | #include "ObjectHandle.h" 8 | 9 | namespace http { 10 | namespace server { 11 | 12 | class subscribe 13 | : //public boost::enable_shared_from_this, 14 | public ObjectHandle 15 | { 16 | public: 17 | subscribe(void){}; 18 | virtual ~subscribe(void){}; 19 | 20 | virtual void on_accept(connection_weak_ptr conn, 21 | const boost::system::error_code& e) = 0; 22 | 23 | 24 | virtual void on_connect(connection_weak_ptr conn, 25 | const boost::system::error_code& e) = 0; 26 | 27 | 28 | 29 | virtual void on_read(connection_weak_ptr conn, 30 | const boost::system::error_code& e, 31 | std::size_t bytes_transferred, 32 | buffer_ptr buffer, 33 | long read_seq) = 0; 34 | 35 | virtual void on_write(connection_weak_ptr conn, 36 | const boost::system::error_code& e, 37 | std::size_t bytes_transferred, 38 | buffer_ptr bufferLeft, 39 | long write_seq) = 0; 40 | 41 | virtual void on_cancel(connection_weak_ptr conn, buffer_ptr cancel_buffer,long write_seq) = 0; 42 | 43 | 44 | virtual void on_error(connection_weak_ptr conn, const boost::system::error_code& e) = 0; 45 | 46 | virtual void on_warning(connection_weak_ptr conn,const std::string & warningMsg) = 0; 47 | 48 | virtual void on_close(long connID, const boost::system::error_code& e,std::string reason) = 0; 49 | 50 | }; 51 | 52 | typedef boost::shared_ptr subscribe_ptr; 53 | 54 | } // namespace server 55 | } // namespace http 56 | 57 | 58 | -------------------------------------------------------------------------------- /example/cpp03/http/server/connection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/cpp03/http/server/connection.cpp -------------------------------------------------------------------------------- /example/cpp03/http/server/connection.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/cpp03/http/server/connection.hpp -------------------------------------------------------------------------------- /example/cpp03/http/server/connection_manager.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // connection_manager.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef HTTP_CONNECTION_MANAGER_HPP 12 | #define HTTP_CONNECTION_MANAGER_HPP 13 | 14 | //#include 15 | #include 16 | //#include 17 | #include "connection.hpp" 18 | #include "resource_manager.h" 19 | 20 | namespace http { 21 | namespace server { 22 | 23 | /// Manages open connections so that they may be cleanly stopped when the server 24 | /// needs to shut down. 25 | class connection_manager 26 | : public resource_manager, 27 | private boost::noncopyable 28 | { 29 | public: 30 | 31 | void start(connection_ptr c) 32 | { 33 | if(c) 34 | { 35 | add(c); 36 | c->start(); 37 | } 38 | } 39 | 40 | 41 | }; 42 | 43 | } // namespace server 44 | } // namespace http 45 | 46 | #endif // HTTP_CONNECTION_MANAGER_HPP 47 | -------------------------------------------------------------------------------- /example/cpp03/http/server/facade.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/cpp03/http/server/facade.hpp -------------------------------------------------------------------------------- /example/cpp03/http/server/io_service_pool.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // io_service_pool.hpp 3 | // ~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #include "io_service_pool.hpp" 12 | //#include "log.h" 13 | 14 | namespace http { 15 | namespace server { 16 | 17 | io_service_pool::io_service_pool(std::size_t io_service_pool_size,std::size_t a_io_service_speed_thread_size) 18 | : next_io_service_(0), 19 | config_(io_service_pool_size,a_io_service_speed_thread_size), 20 | bDestroying(false) 21 | { 22 | if (io_service_pool_size == 0 || a_io_service_speed_thread_size == 0) 23 | throw std::runtime_error("io_service_pool size is 0"); 24 | 25 | // Give all the io_services work to do so that their run() functions will not 26 | // exit until they are explicitly stopped. 27 | for (std::size_t i = 0; i < io_service_pool_size; ++i) 28 | { 29 | io_service_ptr io_service(new boost::asio::io_service); 30 | work_ptr work(new boost::asio::io_service::work(*io_service)); 31 | io_services_.push_back(io_service); 32 | work_.push_back(work); 33 | } 34 | } 35 | 36 | void io_service_pool::run() 37 | { 38 | 39 | // Create a pool of threads to run all of the io_services. 40 | for (std::size_t i = 0; i < io_services_.size(); ++i) 41 | { 42 | for (std::size_t j = 0; j < config_.second ; ++j) 43 | { 44 | //threads_.create_thread(boost::bind(&boost::asio::io_service::run, io_services_[i])); 45 | threads_.create_thread(boost::bind(&io_service_pool::io_service_run, this, io_services_[i])); 46 | } 47 | } 48 | } 49 | 50 | void io_service_pool::io_service_run(io_service_ptr io_service) 51 | { 52 | while(!bDestroying) 53 | { 54 | try 55 | { 56 | io_service->run(); 57 | } 58 | catch (std::exception& e) 59 | { 60 | // LOG(error, "exception: %s", e.what() ); 61 | #if 0 62 | HeapCompact(GetProcessHeap(),0); 63 | #endif 64 | } 65 | } 66 | 67 | 68 | } 69 | 70 | 71 | void io_service_pool::stop() 72 | { 73 | bDestroying = true; 74 | // Explicitly stop all io_services. 75 | for (std::size_t i = 0; i < io_services_.size(); ++i) 76 | io_services_[i]->stop(); 77 | 78 | threads_.join_all(); 79 | } 80 | 81 | io_service_ptr io_service_pool::get_io_service() 82 | { 83 | 84 | // Use a round-robin scheme to choose the next io_service to use. 85 | long curIdx = next_io_service_++; 86 | io_service_ptr io_service = io_services_[ curIdx % io_services_.size() ]; 87 | return io_service; 88 | } 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | } // namespace server2 99 | } // namespace http 100 | 101 | -------------------------------------------------------------------------------- /example/cpp03/http/server/io_service_pool.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/cpp03/http/server/io_service_pool.hpp -------------------------------------------------------------------------------- /example/cpp03/http/server/main.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // main.cpp 3 | // ~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include "server.hpp" 17 | #include "Subscribe.h" 18 | 19 | int main(int argc, char* argv[]) 20 | { 21 | try 22 | { 23 | // Check command line arguments. 24 | if (argc != 4) 25 | { 26 | std::cerr << "Usage: http_server
\n"; 27 | std::cerr << " For IPv4, try:\n"; 28 | std::cerr << " receiver 0.0.0.0 80 1 .\n"; 29 | std::cerr << " For IPv6, try:\n"; 30 | std::cerr << " receiver 0::0 80 1 .\n"; 31 | return 1; 32 | } 33 | 34 | // Initialise the server. 35 | std::size_t num_threads = boost::lexical_cast(argv[3]); 36 | http::server::server s(argv[1], argv[2], num_threads); 37 | 38 | http::server::subscribe_ptr sub = boost::make_shared(); 39 | s.attach_subscriber(sub); 40 | 41 | // Run the server until stopped. 42 | s.run(); 43 | } 44 | catch (std::exception& e) 45 | { 46 | std::cerr << "exception: " << e.what() << "\n"; 47 | } 48 | 49 | return 0; 50 | } 51 | -------------------------------------------------------------------------------- /example/cpp03/http/server/resource_manager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | //#define BOOST_THREAD_USE_DLL 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | //#include 9 | #include 10 | 11 | 12 | template 13 | class resource_manager 14 | { 15 | public: 16 | 17 | typedef boost::shared_ptr element_ptr; 18 | typedef std::tr1::unordered_map resource_pool; 19 | typedef boost::shared_ptr resource_pool_ptr; 20 | 21 | virtual ~resource_manager() 22 | { 23 | stop_all(); 24 | } 25 | 26 | virtual void start(element_ptr c) = 0; 27 | 28 | virtual void stop(element_ptr c) 29 | { 30 | if(c) 31 | { 32 | remove(c); 33 | c->stop(); 34 | } 35 | } 36 | 37 | void stop_all() 38 | { 39 | boost::detail::lightweight_mutex::scoped_lock guard(lock); 40 | if(!resource_pool_.empty()) 41 | { 42 | resource_pool backup_resource_pool(resource_pool_); 43 | std::pair value; 44 | BOOST_FOREACH(value, backup_resource_pool) 45 | { 46 | value.second->stop(); 47 | } 48 | backup_resource_pool.clear(); 49 | resource_pool_.clear(); 50 | 51 | } 52 | } 53 | 54 | void add(element_ptr c) 55 | { 56 | if(c) 57 | add_by_id(c->getObjectID(),c); 58 | } 59 | 60 | void remove(element_ptr c) 61 | { 62 | if(c) 63 | remove_by_id(c->getObjectID()); 64 | } 65 | 66 | void add_by_id(long id, element_ptr c) 67 | { 68 | if(c) 69 | { 70 | boost::detail::lightweight_mutex::scoped_lock guard(lock); 71 | resource_pool_.insert(std::make_pair(id, c)); 72 | } 73 | } 74 | 75 | void remove_by_id(long id) 76 | { 77 | boost::detail::lightweight_mutex::scoped_lock guard(lock); 78 | if(!resource_pool_.empty()) 79 | resource_pool_.erase(id); 80 | } 81 | 82 | bool exist(long id) 83 | { 84 | boost::detail::lightweight_mutex::scoped_lock guard(lock); 85 | if(!resource_pool_.empty() && resource_pool_.count(id)) 86 | return true; 87 | else 88 | return false; 89 | } 90 | 91 | 92 | element_ptr get(long id) 93 | { 94 | boost::detail::lightweight_mutex::scoped_lock guard(lock); 95 | if(!resource_pool_.empty() && resource_pool_.count(id)) 96 | return resource_pool_.find(id)->second; 97 | else 98 | return element_ptr(); 99 | } 100 | 101 | resource_pool_ptr get_resource_pool() 102 | { 103 | boost::detail::lightweight_mutex::scoped_lock guard(lock); 104 | resource_pool_ptr backup_resource_pool = boost::make_shared(boost::ref(resource_pool_)); 105 | return backup_resource_pool; 106 | } 107 | 108 | private: 109 | /// The managed connections. 110 | resource_pool resource_pool_; 111 | boost::detail::lightweight_mutex lock; 112 | }; 113 | -------------------------------------------------------------------------------- /example/cpp03/http/server/server.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/cpp03/http/server/server.hpp -------------------------------------------------------------------------------- /example/cpp03/http/server/subscribe_subject.cpp: -------------------------------------------------------------------------------- 1 | #include "subscribe_subject.h" 2 | 3 | namespace http { 4 | namespace server { 5 | 6 | 7 | subscribe_subject::subscribe_subject(void) 8 | { 9 | } 10 | 11 | subscribe_subject::~subscribe_subject(void) 12 | { 13 | } 14 | 15 | 16 | void subscribe_subject::detach_subscriber(subscribe_ptr s) 17 | { 18 | if(s) 19 | { 20 | fire_accept_.disconnect(s->getObjectID()); 21 | fire_connect_.disconnect(s->getObjectID()); 22 | fire_read_.disconnect(s->getObjectID()); 23 | fire_write_.disconnect(s->getObjectID()); 24 | 25 | 26 | fire_cancel_.disconnect(s->getObjectID()); 27 | fire_error_.disconnect(s->getObjectID()); 28 | fire_warning_.disconnect(s->getObjectID()); 29 | fire_close_.disconnect(s->getObjectID()); 30 | 31 | 32 | } 33 | } 34 | 35 | 36 | } // namespace server 37 | } // namespace http 38 | -------------------------------------------------------------------------------- /example/cpp03/http/server/subscribe_subject.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "Subscribe.h" 5 | 6 | namespace http { 7 | namespace server { 8 | 9 | 10 | class subscribe_subject 11 | { 12 | public: 13 | typedef enum 14 | { 15 | Err_Socket, 16 | Err_Timer, 17 | Err_File, 18 | } ErrorCategoryType; 19 | 20 | 21 | 22 | subscribe_subject(void); 23 | 24 | virtual ~subscribe_subject(void); 25 | 26 | //template 27 | //void attach_subscriber(boost::shared_ptr s); 28 | 29 | template 30 | void attach_subscriber(boost::shared_ptr s); 31 | 32 | template 33 | void attach_subscriber(boost::shared_ptr s, ExtContext context); 34 | 35 | 36 | 37 | void detach_subscriber(subscribe_ptr s); 38 | 39 | boost::signals2::signal fire_read_; 44 | 45 | boost::signals2::signal fire_write_; 50 | 51 | boost::signals2::signal< void (connection_weak_ptr conn, 52 | const boost::system::error_code& e) > fire_connect_; 53 | 54 | boost::signals2::signal< void (connection_weak_ptr conn, 55 | const boost::system::error_code& e) > fire_accept_; 56 | 57 | boost::signals2::signal< void (connection_weak_ptr conn, buffer_ptr cancel_buffer, long write_seq) > fire_cancel_; 58 | 59 | boost::signals2::signal< void (connection_weak_ptr conn, const boost::system::error_code& e) > fire_error_; 60 | 61 | boost::signals2::signal< void (long connID,const boost::system::error_code& e,std::string reason) > fire_close_; 62 | 63 | boost::signals2::signal< void (connection_weak_ptr conn,const std::string & warningMsg) > fire_warning_; 64 | 65 | }; 66 | 67 | template 68 | void subscribe_subject::attach_subscriber(boost::shared_ptr s) 69 | { 70 | if(s) 71 | { 72 | fire_accept_.connect(s->getObjectID(),boost::bind(&Derived::on_accept,s,_1,_2)); 73 | fire_connect_.connect(s->getObjectID(),boost::bind(&Derived::on_connect,s,_1,_2)); 74 | fire_read_.connect(s->getObjectID(),boost::bind(&Derived::on_read,s,_1,_2,_3,_4, _5)); 75 | fire_write_.connect(s->getObjectID(),boost::bind(&Derived::on_write,s,_1,_2,_3,_4, _5)); 76 | 77 | 78 | fire_cancel_.connect(s->getObjectID(),boost::bind(&Derived::on_cancel,s,_1,_2, _3)); 79 | fire_error_.connect(s->getObjectID(),boost::bind(&Derived::on_error,s,_1,_2)); 80 | fire_warning_.connect(s->getObjectID(),boost::bind(&Derived::on_warning,s,_1,_2)); 81 | fire_close_.connect(s->getObjectID(),boost::bind(&Derived::on_close,s,_1,_2,_3)); 82 | 83 | } 84 | } 85 | 86 | 87 | template 88 | void subscribe_subject::attach_subscriber(boost::shared_ptr s, ExtContext context) 89 | { 90 | if(s) 91 | { 92 | fire_accept_.connect(s->getObjectID(),boost::bind(&Derived::on_accept,s,_1,_2,context)); 93 | fire_connect_.connect(s->getObjectID(),boost::bind(&Derived::on_connect,s,_1,_2,context)); 94 | fire_read_.connect(s->getObjectID(),boost::bind(&Derived::on_read,s,_1,_2,_3,_4, _5, context)); 95 | fire_write_.connect(s->getObjectID(),boost::bind(&Derived::on_write,s,_1,_2,_3,_4, _5,context)); 96 | 97 | fire_cancel_.connect(s->getObjectID(),boost::bind(&Derived::on_cancel,s,_1,_2, _3,context)); 98 | fire_error_.connect(s->getObjectID(),boost::bind(&Derived::on_error,s,_1,_2,context)); 99 | fire_warning_.connect(s->getObjectID(),boost::bind(&Derived::on_warning,s,_1,_2,context)); 100 | fire_close_.connect(s->getObjectID(),boost::bind(&Derived::on_close,s,_1,_2,_3,context)); 101 | 102 | } 103 | } 104 | 105 | 106 | 107 | 108 | } // namespace server 109 | } // namespace http 110 | -------------------------------------------------------------------------------- /example/cpp03/http/server/timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/cpp03/http/server/timer.cpp -------------------------------------------------------------------------------- /example/cpp03/http/server/timer.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // connection.hpp 3 | // ~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef HTTP_TIMER_HPP 12 | #define HTTP_TIMER_HPP 13 | 14 | //#define BOOST_THREAD_USE_DLL 15 | 16 | #define BOOST_DATE_TIME_SOURCE 17 | #define BOOST_DATE_TIME_NO_LIB 18 | 19 | #define BOOST_ATOMIC_SOURCE 20 | #define BOOST_ATOMIC_NO_LIB 21 | 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include "ObjectHandle.h" 33 | 34 | 35 | 36 | 37 | #include 38 | #include 39 | //#include "timer_manager.hpp" 40 | //#include "facade.hpp" 41 | 42 | 43 | 44 | 45 | namespace http { 46 | namespace server { 47 | 48 | class timer_manager; 49 | class timer; 50 | 51 | typedef boost::shared_ptr timer_ptr; 52 | typedef boost::weak_ptr timer_weak_ptr; 53 | typedef boost::shared_ptr io_service_ptr; 54 | 55 | class facade; 56 | 57 | 58 | /// Represents a single connection from a client. 59 | class timer 60 | : public boost::enable_shared_from_this, 61 | public ObjectHandle, 62 | private boost::noncopyable 63 | { 64 | public: 65 | 66 | typedef boost::function timer_callback; 67 | 68 | 69 | /// Construct a connection with the given io_service. 70 | explicit timer(io_service_ptr io_service, 71 | facade& facade); 72 | 73 | ~timer(); 74 | 75 | static boost::posix_time::ptime utc_time(); 76 | 77 | static boost::posix_time::ptime local_time(); 78 | 79 | static boost::posix_time::ptime local_to_utc(boost::posix_time::ptime local_time); 80 | 81 | 82 | void start_from_now(timer_callback callback, boost::posix_time::time_duration timeDuration,int executeCount = 1); 83 | 84 | void start_at(timer_callback callback, boost::posix_time::ptime timeStamp); 85 | 86 | void start_at_once(timer_callback callback); 87 | 88 | void wait(boost::posix_time::time_duration timeDuration); 89 | 90 | /// Stop all asynchronous operations associated with the connection. 91 | void stop(); 92 | 93 | void attach(timer_callback callback); 94 | 95 | public: 96 | 97 | volatile bool bStoped_; 98 | volatile bool bDestroying_; 99 | 100 | //private: 101 | 102 | facade& facade_; 103 | io_service_ptr ios; 104 | 105 | 106 | 107 | 108 | /// Strand to ensure the connection's handlers are not called concurrently. 109 | boost::asio::io_service::strand strand_; 110 | 111 | boost::detail::atomic_count waitCount_; 112 | int executeCount_; 113 | boost::posix_time::time_duration timeDuration_; 114 | 115 | 116 | boost::condition_variable_any condition_; 117 | boost::mutex lock; 118 | //boost::detail::lightweight_mutex lock; 119 | 120 | boost::scoped_ptr timer_; 121 | 122 | boost::signals2::signal fire_timeout_; 123 | 124 | void on_timeout(); 125 | 126 | 127 | }; 128 | 129 | 130 | } // namespace server 131 | } // namespace http 132 | 133 | #endif // HTTP_TIMER_HPP 134 | -------------------------------------------------------------------------------- /example/cpp03/http/server/timer_manager.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // connection_manager.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef HTTP_TIMER_MANAGER_HPP 12 | #define HTTP_TIMER_MANAGER_HPP 13 | 14 | //#include 15 | #include 16 | #include "timer.hpp" 17 | #include "resource_manager.h" 18 | 19 | namespace http { 20 | namespace server { 21 | 22 | /// Manages open connections so that they may be cleanly stopped when the server 23 | /// needs to shut down. 24 | class timer_manager 25 | : public resource_manager, 26 | private boost::noncopyable 27 | { 28 | public: 29 | void start(timer_ptr c) 30 | { 31 | if(c) 32 | add(c); 33 | } 34 | 35 | }; 36 | 37 | } // namespace server 38 | } // namespace http 39 | 40 | #endif // HTTP_TIMER_MANAGER_HPP 41 | -------------------------------------------------------------------------------- /example/res/LibAsio.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/res/LibAsio.rc2 -------------------------------------------------------------------------------- /example/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/stdafx.cpp -------------------------------------------------------------------------------- /example/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/stdafx.h -------------------------------------------------------------------------------- /example/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/example/targetver.h -------------------------------------------------------------------------------- /include/pantheios/fileline.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/fileline.h 3 | * 4 | * Purpose: Customisable definition of file+line, for the Pantheios 5 | * Assertion and Tracing APIs. 6 | * 7 | * Created: 11th November 2007 8 | * Updated: 7th December 2010 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2007-2010, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 25 | * names of any contributors may be used to endorse or promote products 26 | * derived from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/fileline.h 44 | * 45 | * [C, C++] Customisable definition of file+line, for 46 | * the \ref group__assertion 47 | * and the \ref group__tracing. 48 | */ 49 | 50 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_FILELINE 51 | #define PANTHEIOS_INCL_PANTHEIOS_H_FILELINE 52 | 53 | /* ///////////////////////////////////////////////////////////////////////// 54 | * Version information 55 | */ 56 | 57 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 58 | # define PANTHEIOS_VER_PANTHEIOS_H_FILELINE_MAJOR 2 59 | # define PANTHEIOS_VER_PANTHEIOS_H_FILELINE_MINOR 0 60 | # define PANTHEIOS_VER_PANTHEIOS_H_FILELINE_REVISION 1 61 | # define PANTHEIOS_VER_PANTHEIOS_H_FILELINE_EDIT 15 62 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 63 | 64 | /* ///////////////////////////////////////////////////////////////////////// 65 | * Includes 66 | */ 67 | 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 71 | 72 | #include 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Tracing features 76 | */ 77 | 78 | /** \def PANTHEIOS_FILELINE_A 79 | * 80 | * Default file+line format for \ref group__tracing 81 | * 82 | * \ingroup group__tracing 83 | */ 84 | 85 | /** \def PANTHEIOS_FILELINE 86 | * 87 | * Default file+line format for \ref group__tracing 88 | * 89 | * \ingroup group__tracing 90 | * 91 | * \remarks Because Pantheios is currently multibyte-only, this resolves to 92 | * PANTHEIOS_FILELINE_A 93 | */ 94 | 95 | /* Define the defaults here, in case we use them below. */ 96 | # define PANTHEIOS_FILELINE_A __FILE__ "(" PANTHEIOS_STRINGIZE(__LINE__) "): " 97 | # define PANTHEIOS_FILELINE PANTHEIOS_FILELINE_A 98 | 99 | /* ///////////////////////////////////////////////////////////////////////// 100 | * Inclusion 101 | */ 102 | 103 | #ifdef STLSOFT_PPF_pragma_once_SUPPORT 104 | # pragma once 105 | #endif /* STLSOFT_PPF_pragma_once_SUPPORT */ 106 | 107 | /* ////////////////////////////////////////////////////////////////////// */ 108 | 109 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_FILELINE */ 110 | 111 | /* ///////////////////////////// end of file //////////////////////////// */ 112 | -------------------------------------------------------------------------------- /include/pantheios/frontends/fe.WindowsRegistry.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/frontends/fe.WindowsRegistry.h 3 | * 4 | * Purpose: Declaration of the Pantheios fe.WindowsRegistry Stock Front-end API. 5 | * 6 | * Created: 28th October 2007 7 | * Updated: 26th December 2010 8 | * 9 | * Home: http://www.pantheios.org/ 10 | * 11 | * Copyright (c) 2007-2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/frontends/fe.WindowsRegistry.h 43 | * 44 | * [C,C++] Pantheios fe.WindowsRegistry Stock Front-end API 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_WINDOWSREGISTRY 48 | #define PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_WINDOWSREGISTRY 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_WINDOWSREGISTRY_MAJOR 2 56 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_WINDOWSREGISTRY_MINOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_WINDOWSREGISTRY_REVISION 4 58 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_WINDOWSREGISTRY_EDIT 10 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK */ 71 | 72 | /** \defgroup group__frontend__stock_frontends__WindowsRegistry Pantheios Windows Registry Stock Front-end 73 | * \ingroup group__frontend__stock_frontends 74 | * Front-end library that allows all severity levels in debug mode 75 | * and \link pantheios::SEV_NOTICE NOTICE\endlink and higher in 76 | * release mode. 77 | */ 78 | 79 | /* ///////////////////////////////////////////////////////////////////////// 80 | * External Declarations 81 | */ 82 | 83 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 84 | struct Pantheios_no_longer_uses_the_symbol_PAN_FE_PROCESS_IDENTITY_all_front_ends_now_recognise_PANTHEIOS_FE_PROCESS_IDENTITY_; 85 | # define PAN_FE_PROCESS_IDENTITY (Pantheios_no_longer_uses_the_symbol_PAN_FE_PROCESS_IDENTITY_all_front_ends_now_recognise_PANTHEIOS_FE_PROCESS_IDENTITY_) 86 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 87 | 88 | /* ////////////////////////////////////////////////////////////////////// */ 89 | 90 | #endif /* PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_WINDOWSREGISTRY */ 91 | 92 | /* ///////////////////////////// end of file //////////////////////////// */ 93 | -------------------------------------------------------------------------------- /include/pantheios/frontends/fe.all.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/frontends/fe.all.h 3 | * 4 | * Purpose: Declaration of the Pantheios fe.all Stock Front-end API. 5 | * 6 | * Created: 5th January 2008 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://www.pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/frontends/fe.all.h 43 | * 44 | * [C, C++] Pantheios fe.all Stock Front-end API 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_ALL 48 | #define PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_ALL 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_ALL_MAJOR 1 56 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_ALL_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_ALL_REVISION 3 58 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_ALL_EDIT 5 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK */ 71 | 72 | /** \defgroup group__frontend__stock_frontends__all Pantheios all Stock Front-end 73 | * \ingroup group__frontend__stock_frontends 74 | * Front-end library that allows all severity levels in all modes. 75 | */ 76 | 77 | /* ///////////////////////////////////////////////////////////////////////// 78 | * API 79 | */ 80 | 81 | /* ////////////////////////////////////////////////////////////////////// */ 82 | 83 | #endif /* PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_ALL */ 84 | 85 | /* ///////////////////////////// end of file //////////////////////////// */ 86 | -------------------------------------------------------------------------------- /include/pantheios/frontends/fe.fail.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/frontends/fe.fail.h 3 | * 4 | * Purpose: Declaration of the Pantheios fe.fail Stock Front-end API. 5 | * 6 | * Created: 8th March 2008 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://www.pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/frontends/fe.fail.h 43 | * 44 | * [C, C++] Pantheios fe.fail Stock Front-end API 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_FAIL 48 | #define PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_FAIL 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_FAIL_MAJOR 1 56 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_FAIL_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_FAIL_REVISION 3 58 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_FAIL_EDIT 5 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK */ 71 | 72 | /** \defgroup group__frontend__stock_frontends__fail Pantheios fail Stock Front-end 73 | * \ingroup group__frontend__stock_frontends 74 | * Front-end library that does not initialise. 75 | */ 76 | 77 | /* ///////////////////////////////////////////////////////////////////////// 78 | * API 79 | */ 80 | 81 | /* ////////////////////////////////////////////////////////////////////// */ 82 | 83 | #endif /* PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_FAIL */ 84 | 85 | /* ///////////////////////////// end of file //////////////////////////// */ 86 | -------------------------------------------------------------------------------- /include/pantheios/frontends/fe.null.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/frontends/fe.null.h 3 | * 4 | * Purpose: Declaration of the Pantheios fe.null Stock Front-end API. 5 | * 6 | * Created: 5th January 2008 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://www.pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/frontends/fe.null.h 43 | * 44 | * [C, C++] Pantheios fe.null Stock Front-end API 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_NULL 48 | #define PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_NULL 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_NULL_MAJOR 1 56 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_NULL_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_NULL_REVISION 3 58 | # define PANTHEIOS_VER_PANTHEIOS_FRONTENDS_H_FE_NULL_EDIT 5 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_STOCK */ 71 | 72 | /** \defgroup group__frontend__stock_frontends__null Pantheios null Stock Front-end 73 | * \ingroup group__frontend__stock_frontends 74 | * Front-end library that suppresses all severity levels in all modes. 75 | */ 76 | 77 | /* ///////////////////////////////////////////////////////////////////////// 78 | * API 79 | */ 80 | 81 | /* ////////////////////////////////////////////////////////////////////// */ 82 | 83 | #endif /* PANTHEIOS_INCL_PANTHEIOS_FRONTENDS_H_FE_NULL */ 84 | 85 | /* ///////////////////////////// end of file //////////////////////////// */ 86 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/appl.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/appl.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Appl library 5 | * 6 | * Created: 26th November 2010 7 | * Updated: 11th December 2010 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/appl.h 43 | * 44 | * [C, C++] Implicitly links in the \ref group__appl_library "Pantheios Appl library" 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_APPL 48 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_APPL 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_APPL_MAJOR 1 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_APPL_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_APPL_REVISION 2 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_APPL_EDIT 2 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 71 | 72 | /* ///////////////////////////////////////////////////////////////////////// 73 | * Implicit-linking directives 74 | */ 75 | 76 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 77 | 78 | # if defined(__BORLANDC__) 79 | # elif defined(__COMO__) 80 | # elif defined(__DMC__) 81 | # elif defined(__GNUC__) 82 | # elif defined(__INTEL_COMPILER) 83 | 84 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("appl")) 85 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("appl")) 86 | 87 | # elif defined(__MWERKS__) 88 | # elif defined(__WATCOMC__) 89 | # elif defined(_MSC_VER) 90 | 91 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("appl")) 92 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("appl")) 93 | 94 | # else /* ? compiler */ 95 | # error Compiler not recognised 96 | # endif /* compiler */ 97 | 98 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 99 | 100 | /* ////////////////////////////////////////////////////////////////////// */ 101 | 102 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_APPL */ 103 | 104 | /* ///////////////////////////// end of file //////////////////////////// */ 105 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/be.N.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/be.N.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios N Back-End Library 5 | * 6 | * Created: 19th July 2006 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2006-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/be.N.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__N "Pantheios N Back-End Library" 46 | * as the sole back-end for the given link-unit. 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_N 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_N 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_N_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_N_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_N_REVISION 2 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_N_EDIT 5 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Implicit-linking directives 76 | */ 77 | 78 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 79 | 80 | # if defined(__BORLANDC__) 81 | # elif defined(__COMO__) 82 | # elif defined(__DMC__) 83 | # elif defined(__GNUC__) 84 | # elif defined(__INTEL_COMPILER) 85 | 86 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.N")) 87 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.N")) 88 | 89 | # elif defined(__MWERKS__) 90 | # elif defined(__WATCOMC__) 91 | # elif defined(_MSC_VER) 92 | 93 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.N")) 94 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.N")) 95 | 96 | # else /* ? compiler */ 97 | # error Compiler not recognised 98 | # endif /* compiler */ 99 | 100 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 101 | 102 | /* ////////////////////////////////////////////////////////////////////// */ 103 | 104 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_N */ 105 | 106 | /* ///////////////////////////// end of file //////////////////////////// */ 107 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/be.console.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/be.console.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Console Back-End Library 5 | * 6 | * Created: 4th July 2009 7 | * Updated: 4th July 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/be.console.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__console "Pantheios Console Back-End Library" 46 | * as the sole back-end for the given link-unit. 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_CONSOLE 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_CONSOLE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_CONSOLE_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_CONSOLE_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_CONSOLE_REVISION 1 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_CONSOLE_EDIT 1 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | 71 | #ifndef PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL 72 | # include 73 | #endif /* !PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL */ 74 | 75 | #if defined(PLATFORMSTL_OS_IS_WINDOWS) 76 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_WINDOWSCONSOLE 77 | # include 78 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_WINDOWSCONSOLE */ 79 | #else /* ? OS */ 80 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_FPRINTF 81 | # include 82 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_FPRINTF */ 83 | #endif /* OS */ 84 | 85 | /* ////////////////////////////////////////////////////////////////////// */ 86 | 87 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_CONSOLE */ 88 | 89 | /* ///////////////////////////// end of file //////////////////////////// */ 90 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/be.lrsplit.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/be.lrsplit.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Back-End Local/Remote Split Library 5 | * 6 | * Created: 18th July 2005 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2005-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/be.lrsplit.h 43 | * 44 | * [C, C++] Implicitly links in the Pantheios Back-End Local/Remote Split Library. 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_LRSPLIT 48 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_LRSPLIT 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_LRSPLIT_MAJOR 1 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_LRSPLIT_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_LRSPLIT_REVISION 2 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BE_LRSPLIT_EDIT 5 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 71 | 72 | /* ///////////////////////////////////////////////////////////////////////// 73 | * Implicit-linking directives 74 | */ 75 | 76 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 77 | 78 | # if defined(__BORLANDC__) 79 | # elif defined(__COMO__) 80 | # elif defined(__DMC__) 81 | # elif defined(__GNUC__) 82 | # elif defined(__INTEL_COMPILER) 83 | 84 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.lrsplit")) 85 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.lrsplit")) 86 | 87 | # elif defined(__MWERKS__) 88 | # elif defined(__WATCOMC__) 89 | # elif defined(_MSC_VER) 90 | 91 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.lrsplit")) 92 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("be.lrsplit")) 93 | 94 | # else /* ? compiler */ 95 | # error Compiler not recognised 96 | # endif /* compiler */ 97 | 98 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 99 | 100 | /* ////////////////////////////////////////////////////////////////////// */ 101 | 102 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_LRSPLIT */ 103 | 104 | /* ///////////////////////////// end of file //////////////////////////// */ 105 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/bec.ACE.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/bec.ACE.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios ACE Back-End Common Library 5 | * 6 | * Created: 18th July 2005 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2005-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/bec.ACE.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__ACE "Pantheios ACE Back-End Common Library" 46 | * common implementation (that may be used by sole/local/remote back-end). 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_ACE 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_ACE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_ACE_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_ACE_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_ACE_REVISION 2 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_ACE_EDIT 5 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Implicit-linking directives 76 | */ 77 | 78 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 79 | 80 | # if defined(__BORLANDC__) 81 | # elif defined(__COMO__) 82 | # elif defined(__DMC__) 83 | # elif defined(__GNUC__) 84 | # elif defined(__INTEL_COMPILER) 85 | 86 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.ACE")) 87 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.ACE")) 88 | 89 | # elif defined(__MWERKS__) 90 | # elif defined(__WATCOMC__) 91 | # elif defined(_MSC_VER) 92 | 93 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.ACE")) 94 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.ACE")) 95 | 96 | # else /* ? compiler */ 97 | # error Compiler not recognised 98 | # endif /* compiler */ 99 | 100 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 101 | 102 | /* ////////////////////////////////////////////////////////////////////// */ 103 | 104 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_ACE */ 105 | 106 | /* ///////////////////////////// end of file //////////////////////////// */ 107 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/bec.console.WithCallback.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/bec.console.WithCallback.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Console Back-End Common Library 5 | * 6 | * Created: 7th December 2010 7 | * Updated: 7th December 2010 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/bec.console.WithCallback.h 43 | * 44 | * [C, C++] Implicitly links in the \ref page__backend__callbacks "callback" version of the 45 | * \ref group__backend__stock_backends__console "Pantheios Console Back-End Common Library" 46 | * common implementation (that may be used by sole/local/remote back-end). 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_WITHCALLBACK 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_WITHCALLBACK 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_WITHCALLBACK_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_WITHCALLBACK_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_WITHCALLBACK_REVISION 1 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_WITHCALLBACK_EDIT 1 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | 71 | #ifndef PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL 72 | # include 73 | #endif /* !PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL */ 74 | 75 | #if defined(PLATFORMSTL_OS_IS_WINDOWS) 76 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_WINDOWSCONSOLE_WITHCALLBACK 77 | # include 78 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_WINDOWSCONSOLE_WITHCALLBACK */ 79 | #else /* ? OS */ 80 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_FPRINTF_WITHCALLBACK 81 | # include 82 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BE_FPRINTF_WITHCALLBACK */ 83 | #endif /* OS */ 84 | 85 | /* ////////////////////////////////////////////////////////////////////// */ 86 | 87 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_WITHCALLBACK */ 88 | 89 | /* ///////////////////////////// end of file //////////////////////////// */ 90 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/bec.console.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/bec.console.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Console Back-End Common Library 5 | * 6 | * Created: 3rd July 2009 7 | * Updated: 4th July 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/bec.console.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__console "Pantheios Console Back-End Common Library" 46 | * common implementation (that may be used by sole/local/remote back-end). 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_REVISION 1 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE_EDIT 2 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | 71 | #ifndef PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL 72 | # include 73 | #endif /* !PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL */ 74 | 75 | #if defined(PLATFORMSTL_OS_IS_WINDOWS) 76 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_WINDOWSCONSOLE 77 | # include 78 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_WINDOWSCONSOLE */ 79 | #else /* ? OS */ 80 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FPRINTF 81 | # include 82 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FPRINTF */ 83 | #endif /* OS */ 84 | 85 | /* ////////////////////////////////////////////////////////////////////// */ 86 | 87 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_CONSOLE */ 88 | 89 | /* ///////////////////////////// end of file //////////////////////////// */ 90 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/bec.fail.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/bec.fail.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios fail Back-End Common Library 5 | * 6 | * Created: 9th January 2007 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2007-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/bec.fail.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__fail "Pantheios fail Back-End Common Library" 46 | * common implementation (that may be used by sole/local/remote back-end). 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FAIL 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FAIL 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FAIL_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FAIL_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FAIL_REVISION 1 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FAIL_EDIT 5 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Implicit-linking directives 76 | */ 77 | 78 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 79 | 80 | # if defined(__BORLANDC__) 81 | # elif defined(__COMO__) 82 | # elif defined(__DMC__) 83 | # elif defined(__GNUC__) 84 | # elif defined(__INTEL_COMPILER) 85 | 86 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.fail")) 87 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.fail")) 88 | 89 | # elif defined(__MWERKS__) 90 | # elif defined(__WATCOMC__) 91 | # elif defined(_MSC_VER) 92 | 93 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.fail")) 94 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.fail")) 95 | 96 | # else /* ? compiler */ 97 | # error Compiler not recognised 98 | # endif /* compiler */ 99 | 100 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 101 | 102 | /* ////////////////////////////////////////////////////////////////////// */ 103 | 104 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FAIL */ 105 | 106 | /* ///////////////////////////// end of file //////////////////////////// */ 107 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/bec.file.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/bec.file.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios file Back-End Common Library 5 | * 6 | * Created: 3rd December 2006 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2006-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/bec.file.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__file "Pantheios file Back-End Common Library" 46 | * common implementation (that may be used by sole/local/remote back-end). 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FILE 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FILE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FILE_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FILE_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FILE_REVISION 2 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_FILE_EDIT 6 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Implicit-linking directives 76 | */ 77 | 78 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 79 | 80 | # if defined(__BORLANDC__) 81 | # elif defined(__COMO__) 82 | # elif defined(__DMC__) 83 | # elif defined(__GNUC__) 84 | # elif defined(__INTEL_COMPILER) 85 | 86 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.file")) 87 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.file")) 88 | 89 | # elif defined(__MWERKS__) 90 | # elif defined(__WATCOMC__) 91 | # elif defined(_MSC_VER) 92 | 93 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.file")) 94 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.file")) 95 | 96 | # else /* ? compiler */ 97 | # error Compiler not recognised 98 | # endif /* compiler */ 99 | 100 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 101 | 102 | /* ////////////////////////////////////////////////////////////////////// */ 103 | 104 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_FILE */ 105 | 106 | /* ///////////////////////////// end of file //////////////////////////// */ 107 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/bec.null.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/bec.null.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Null Back-End Common Library 5 | * 6 | * Created: 19th July 2006 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2006-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/bec.null.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__null "Pantheios Null Back-End Common Library" 46 | * common implementation (that may be used by sole/local/remote back-end). 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_NULL 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_NULL 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_NULL_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_NULL_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_NULL_REVISION 2 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEC_NULL_EDIT 5 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Implicit-linking directives 76 | */ 77 | 78 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 79 | 80 | # if defined(__BORLANDC__) 81 | # elif defined(__COMO__) 82 | # elif defined(__DMC__) 83 | # elif defined(__GNUC__) 84 | # elif defined(__INTEL_COMPILER) 85 | 86 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.null")) 87 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.null")) 88 | 89 | # elif defined(__MWERKS__) 90 | # elif defined(__WATCOMC__) 91 | # elif defined(_MSC_VER) 92 | 93 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.null")) 94 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("bec.null")) 95 | 96 | # else /* ? compiler */ 97 | # error Compiler not recognised 98 | # endif /* compiler */ 99 | 100 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 101 | 102 | /* ////////////////////////////////////////////////////////////////////// */ 103 | 104 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEC_NULL */ 105 | 106 | /* ///////////////////////////// end of file //////////////////////////// */ 107 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/bel.console.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/bel.console.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Console Local Back-End Library 5 | * 6 | * Created: 3rd July 2009 7 | * Updated: 4th July 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/bel.console.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__console "Pantheios Console Local Back-End Library" 46 | * as the local back-end for the given link-unit. 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEL_CONSOLE 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEL_CONSOLE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEL_CONSOLE_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEL_CONSOLE_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEL_CONSOLE_REVISION 1 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BEL_CONSOLE_EDIT 1 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | 71 | #ifndef PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL 72 | # include 73 | #endif /* !PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL */ 74 | 75 | #if defined(PLATFORMSTL_OS_IS_WINDOWS) 76 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEL_WINDOWSCONSOLE 77 | # include 78 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEL_WINDOWSCONSOLE */ 79 | #else /* ? OS */ 80 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEL_FPRINTF 81 | # include 82 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEL_FPRINTF */ 83 | #endif /* OS */ 84 | 85 | /* ////////////////////////////////////////////////////////////////////// */ 86 | 87 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BEL_CONSOLE */ 88 | 89 | /* ///////////////////////////// end of file //////////////////////////// */ 90 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/ber.console.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/ber.console.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Console Remote Back-End Library 5 | * 6 | * Created: 3rd July 2009 7 | * Updated: 4th July 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/ber.console.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__backend__stock_backends__console "Pantheios Console Remote Back-End Library" 46 | * as the remote back-end for the given link-unit. 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BER_CONSOLE 50 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BER_CONSOLE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Version information 54 | */ 55 | 56 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BER_CONSOLE_MAJOR 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BER_CONSOLE_MINOR 0 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BER_CONSOLE_REVISION 1 60 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_BER_CONSOLE_EDIT 1 61 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 62 | 63 | /* ///////////////////////////////////////////////////////////////////////// 64 | * Includes 65 | */ 66 | 67 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 68 | # include 69 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 70 | 71 | #ifndef PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL 72 | # include 73 | #endif /* !PLATFORMSTL_INCL_PLATFORMSTL_H_PLATFORMSTL */ 74 | 75 | #if defined(PLATFORMSTL_OS_IS_WINDOWS) 76 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BER_WINDOWSCONSOLE 77 | # include 78 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BER_WINDOWSCONSOLE */ 79 | #else /* ? OS */ 80 | # ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BER_FPRINTF 81 | # include 82 | # endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BER_FPRINTF */ 83 | #endif /* OS */ 84 | 85 | /* ////////////////////////////////////////////////////////////////////// */ 86 | 87 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_BER_CONSOLE */ 88 | 89 | /* ///////////////////////////// end of file //////////////////////////// */ 90 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/core.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/core.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Core library 5 | * 6 | * Created: 18th July 2005 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2005-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/core.h 43 | * 44 | * [C, C++] Implicitly links in the \ref group__core_library "Pantheios Core library" 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_CORE 48 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_CORE 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_CORE_MAJOR 1 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_CORE_MINOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_CORE_REVISION 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_CORE_EDIT 6 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 71 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_UTIL 72 | # include /* Core implies Util */ 73 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_UTIL */ 74 | 75 | /* ///////////////////////////////////////////////////////////////////////// 76 | * Implicit-linking directives 77 | */ 78 | 79 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 80 | 81 | # if defined(__BORLANDC__) 82 | # elif defined(__COMO__) 83 | # elif defined(__DMC__) 84 | # elif defined(__GNUC__) 85 | # elif defined(__INTEL_COMPILER) 86 | 87 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("core")) 88 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("core")) 89 | 90 | # elif defined(__MWERKS__) 91 | # elif defined(__WATCOMC__) 92 | # elif defined(_MSC_VER) 93 | 94 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("core")) 95 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("core")) 96 | 97 | # else /* ? compiler */ 98 | # error Compiler not recognised 99 | # endif /* compiler */ 100 | 101 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 102 | 103 | /* ////////////////////////////////////////////////////////////////////// */ 104 | 105 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_CORE */ 106 | 107 | /* ///////////////////////////// end of file //////////////////////////// */ 108 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/fe.N.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/fe.N.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios N Front-end Library 5 | * 6 | * Created: 23rd December 2006 7 | * Updated: 16th November 2010 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2006-2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/fe.N.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__frontend__stock_frontends__N "Pantheios N Stock Front-end". 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_N 49 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_N 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_N_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_N_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_N_REVISION 2 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_N_EDIT 7 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 70 | # include 71 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 72 | 73 | /* ///////////////////////////////////////////////////////////////////////// 74 | * Implicit-linking directives 75 | */ 76 | 77 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 78 | 79 | # if defined(__BORLANDC__) 80 | # elif defined(__COMO__) 81 | # elif defined(__DMC__) 82 | # elif defined(__GNUC__) 83 | # elif defined(__INTEL_COMPILER) 84 | 85 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.N")) 86 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.N")) 87 | 88 | # elif defined(__MWERKS__) 89 | # elif defined(__WATCOMC__) 90 | # elif defined(_MSC_VER) 91 | 92 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.N")) 93 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.N")) 94 | 95 | # else /* ? compiler */ 96 | # error Compiler not recognised 97 | # endif /* compiler */ 98 | 99 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 100 | 101 | /* ////////////////////////////////////////////////////////////////////// */ 102 | 103 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_N */ 104 | 105 | /* ///////////////////////////// end of file //////////////////////////// */ 106 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/fe.all.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/fe.all.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios All Front-end Library 5 | * 6 | * Created: 5th January 2008 7 | * Updated: 16th November 2010 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/fe.all.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__frontend__stock_frontends__all "Pantheios all Stock Front-end". 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_ALL 49 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_ALL 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_ALL_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_ALL_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_ALL_REVISION 1 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_ALL_EDIT 3 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 70 | # include 71 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 72 | 73 | /* ///////////////////////////////////////////////////////////////////////// 74 | * Implicit-linking directives 75 | */ 76 | 77 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 78 | 79 | # if defined(__BORLANDC__) 80 | # elif defined(__COMO__) 81 | # elif defined(__DMC__) 82 | # elif defined(__GNUC__) 83 | # elif defined(__INTEL_COMPILER) 84 | 85 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.all")) 86 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.all")) 87 | 88 | # elif defined(__MWERKS__) 89 | # elif defined(__WATCOMC__) 90 | # elif defined(_MSC_VER) 91 | 92 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.all")) 93 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.all")) 94 | 95 | # else /* ? compiler */ 96 | # error Compiler not recognised 97 | # endif /* compiler */ 98 | 99 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 100 | 101 | /* ////////////////////////////////////////////////////////////////////// */ 102 | 103 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_ALL */ 104 | 105 | /* ///////////////////////////// end of file //////////////////////////// */ 106 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/fe.fail.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/fe.fail.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios fe.fail Front-end Library 5 | * 6 | * Created: 28th August 2008 7 | * Updated: 16th November 2010 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/fe.fail.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__frontend__stock_frontends__fail "Pantheios fail Stock Front-end". 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_FAIL 49 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_FAIL 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_FAIL_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_FAIL_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_FAIL_REVISION 1 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_FAIL_EDIT 3 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 70 | # include 71 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 72 | 73 | /* ///////////////////////////////////////////////////////////////////////// 74 | * Implicit-linking directives 75 | */ 76 | 77 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 78 | 79 | # if defined(__BORLANDC__) 80 | # elif defined(__COMO__) 81 | # elif defined(__DMC__) 82 | # elif defined(__GNUC__) 83 | # elif defined(__INTEL_COMPILER) 84 | 85 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.fail")) 86 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.fail")) 87 | 88 | # elif defined(__MWERKS__) 89 | # elif defined(__WATCOMC__) 90 | # elif defined(_MSC_VER) 91 | 92 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.fail")) 93 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.fail")) 94 | 95 | # else /* ? compiler */ 96 | # error Compiler not recognised 97 | # endif /* compiler */ 98 | 99 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 100 | 101 | /* ////////////////////////////////////////////////////////////////////// */ 102 | 103 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_FAIL */ 104 | 105 | /* ///////////////////////////// end of file //////////////////////////// */ 106 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/fe.null.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/fe.null.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios fe.null Front-end Library 5 | * 6 | * Created: 28th August 2008 7 | * Updated: 16th November 2010 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/fe.null.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__frontend__stock_frontends__null "Pantheios null Stock Front-end". 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_NULL 49 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_NULL 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_NULL_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_NULL_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_NULL_REVISION 1 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_NULL_EDIT 3 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 70 | # include 71 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 72 | 73 | /* ///////////////////////////////////////////////////////////////////////// 74 | * Implicit-linking directives 75 | */ 76 | 77 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 78 | 79 | # if defined(__BORLANDC__) 80 | # elif defined(__COMO__) 81 | # elif defined(__DMC__) 82 | # elif defined(__GNUC__) 83 | # elif defined(__INTEL_COMPILER) 84 | 85 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.null")) 86 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.null")) 87 | 88 | # elif defined(__MWERKS__) 89 | # elif defined(__WATCOMC__) 90 | # elif defined(_MSC_VER) 91 | 92 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.null")) 93 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.null")) 94 | 95 | # else /* ? compiler */ 96 | # error Compiler not recognised 97 | # endif /* compiler */ 98 | 99 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 100 | 101 | /* ////////////////////////////////////////////////////////////////////// */ 102 | 103 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_NULL */ 104 | 105 | /* ///////////////////////////// end of file //////////////////////////// */ 106 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/fe.simple.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/fe.simple.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Simple Front-end Library 5 | * 6 | * Created: 18th July 2005 7 | * Updated: 16th November 2010 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2005-2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/fe.simple.h 43 | * 44 | * [C, C++] Implicitly links in the 45 | * \ref group__frontend__stock_frontends__simple "Pantheios simple Stock Front-end". 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_SIMPLE 49 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_SIMPLE 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_SIMPLE_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_SIMPLE_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_SIMPLE_REVISION 2 59 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_FE_SIMPLE_EDIT 7 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 70 | # include 71 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 72 | 73 | /* ///////////////////////////////////////////////////////////////////////// 74 | * Implicit-linking directives 75 | */ 76 | 77 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 78 | 79 | # if defined(__BORLANDC__) 80 | # elif defined(__COMO__) 81 | # elif defined(__DMC__) 82 | # elif defined(__GNUC__) 83 | # elif defined(__INTEL_COMPILER) 84 | 85 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.simple")) 86 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.simple")) 87 | 88 | # elif defined(__MWERKS__) 89 | # elif defined(__WATCOMC__) 90 | # elif defined(_MSC_VER) 91 | 92 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.simple")) 93 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("fe.simple")) 94 | 95 | # else /* ? compiler */ 96 | # error Compiler not recognised 97 | # endif /* compiler */ 98 | 99 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 100 | 101 | /* ////////////////////////////////////////////////////////////////////// */ 102 | 103 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_FE_SIMPLE */ 104 | 105 | /* ///////////////////////////// end of file //////////////////////////// */ 106 | -------------------------------------------------------------------------------- /include/pantheios/implicit_link/util.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/implicit_link/util.h 3 | * 4 | * Purpose: Implicitly links in the Pantheios Util library 5 | * 6 | * Created: 15th April 2008 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/implicit_link/util.h 43 | * 44 | * [C, C++] Implicitly links in the \ref group__util_library "Pantheios Util library" 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_UTIL 48 | #define PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_UTIL 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_UTIL_MAJOR 1 56 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_UTIL_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_UTIL_REVISION 1 58 | # define PANTHEIOS_VER_PANTHEIOS_IMPLICIT_LINK_H_UTIL_EDIT 4 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_IMPLICIT_LINK_BASE_ */ 71 | 72 | /* ///////////////////////////////////////////////////////////////////////// 73 | * Implicit-linking directives 74 | */ 75 | 76 | #ifdef PANTHEIOS_IMPLICIT_LINK_SUPPORT 77 | 78 | # if defined(__BORLANDC__) 79 | # elif defined(__COMO__) 80 | # elif defined(__DMC__) 81 | # elif defined(__GNUC__) 82 | # elif defined(__INTEL_COMPILER) 83 | 84 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("util")) 85 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("util")) 86 | 87 | # elif defined(__MWERKS__) 88 | # elif defined(__WATCOMC__) 89 | # elif defined(_MSC_VER) 90 | 91 | # pragma comment(lib, PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("util")) 92 | # pragma message(" " PANTHEIOS_IMPL_LINK_LIBRARY_NAME_("util")) 93 | 94 | # else /* ? compiler */ 95 | # error Compiler not recognised 96 | # endif /* compiler */ 97 | 98 | #endif /* PANTHEIOS_IMPLICIT_LINK_SUPPORT */ 99 | 100 | /* ////////////////////////////////////////////////////////////////////// */ 101 | 102 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_IMPLICIT_LINK_H_UTIL */ 103 | 104 | /* ///////////////////////////// end of file //////////////////////////// */ 105 | -------------------------------------------------------------------------------- /include/pantheios/inserters/b.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/inserters/b.hpp 3 | * 4 | * Purpose: Defines shorthand name for pantheios::boolean inserter 5 | * class. 6 | * 7 | * Created: 12th November 2010 8 | * Updated: 12th November 2010 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2010, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 25 | * names of any contributors may be used to endorse or promote products 26 | * derived from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/inserters/b.hpp 44 | * 45 | * [C++ only] Defines shorthand name for pantheios::boolean inserter class. 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_B 49 | #define PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_B 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_B_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_B_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_B_REVISION 1 59 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_B_EDIT 1 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_BOOLEAN 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_BOOLEAN */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Namespace 76 | */ 77 | 78 | #if !defined(PANTHEIOS_NO_NAMESPACE) 79 | namespace pantheios 80 | { 81 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 82 | 83 | /* ///////////////////////////////////////////////////////////////////////// 84 | * Typedefs 85 | */ 86 | 87 | /** Typedef for pantheios::boolean inserter class. */ 88 | typedef boolean b; 89 | 90 | /* ///////////////////////////////////////////////////////////////////////// 91 | * Namespace 92 | */ 93 | 94 | #if !defined(PANTHEIOS_NO_NAMESPACE) 95 | } /* namespace pantheios */ 96 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 97 | 98 | /* ///////////////////////////////////////////////////////////////////////// 99 | * Inclusion 100 | */ 101 | 102 | #ifdef STLSOFT_PPF_pragma_once_SUPPORT 103 | # pragma once 104 | #endif /* STLSOFT_PPF_pragma_once_SUPPORT */ 105 | 106 | /* ////////////////////////////////////////////////////////////////////// */ 107 | 108 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_B */ 109 | 110 | /* ///////////////////////////// end of file //////////////////////////// */ 111 | -------------------------------------------------------------------------------- /include/pantheios/inserters/i.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/inserters/i.hpp 3 | * 4 | * Purpose: Defines shorthand name for pantheios::integer inserter 5 | * class. 6 | * 7 | * Created: 12th March 2010 8 | * Updated: 9th November 2010 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2010, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 25 | * names of any contributors may be used to endorse or promote products 26 | * derived from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/inserters/i.hpp 44 | * 45 | * [C++ only] Defines shorthand name for pantheios::integer inserter class. 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_I 49 | #define PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_I 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_I_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_I_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_I_REVISION 1 59 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_I_EDIT 3 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_INTEGER 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_INTEGER */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Namespace 76 | */ 77 | 78 | #if !defined(PANTHEIOS_NO_NAMESPACE) 79 | namespace pantheios 80 | { 81 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 82 | 83 | /* ///////////////////////////////////////////////////////////////////////// 84 | * Typedefs 85 | */ 86 | 87 | /** Typedef for pantheios::integer inserter class. */ 88 | typedef integer i; 89 | 90 | /* ///////////////////////////////////////////////////////////////////////// 91 | * Namespace 92 | */ 93 | 94 | #if !defined(PANTHEIOS_NO_NAMESPACE) 95 | } /* namespace pantheios */ 96 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 97 | 98 | /* ///////////////////////////////////////////////////////////////////////// 99 | * Inclusion 100 | */ 101 | 102 | #ifdef STLSOFT_PPF_pragma_once_SUPPORT 103 | # pragma once 104 | #endif /* STLSOFT_PPF_pragma_once_SUPPORT */ 105 | 106 | /* ////////////////////////////////////////////////////////////////////// */ 107 | 108 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_I */ 109 | 110 | /* ///////////////////////////// end of file //////////////////////////// */ 111 | -------------------------------------------------------------------------------- /include/pantheios/inserters/ids.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/inserters/ids.hpp 3 | * 4 | * Purpose: String inserters for execution environment identities. 5 | * 6 | * Created: 16th October 2006 7 | * Updated: 14th February 2010 8 | * 9 | * Home: http://www.pantheios.org/ 10 | * 11 | * Copyright (c) 2006-2010, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/inserters/ids.hpp 43 | * 44 | * [C++ only] String inserters for execution environment identities. 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_IDS 48 | #define PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_IDS 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_IDS_MAJOR 2 56 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_IDS_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_IDS_REVISION 4 58 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_IDS_EDIT 13 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_FMT 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_FMT */ 71 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_PROCESSID 72 | # include 73 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_PROCESSID */ 74 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_THREADID 75 | # include 76 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_THREADID */ 77 | 78 | /* ///////////////////////////////////////////////////////////////////////// 79 | * Inclusion 80 | */ 81 | 82 | #ifdef STLSOFT_PPF_pragma_once_SUPPORT 83 | # pragma once 84 | #endif /* STLSOFT_PPF_pragma_once_SUPPORT */ 85 | 86 | /* ////////////////////////////////////////////////////////////////////// */ 87 | 88 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_IDS */ 89 | 90 | /* ///////////////////////////// end of file //////////////////////////// */ 91 | -------------------------------------------------------------------------------- /include/pantheios/inserters/p.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/inserters/p.hpp 3 | * 4 | * Purpose: Defines shorthand name for pantheios::pointer inserter 5 | * class. 6 | * 7 | * Created: 12th March 2010 8 | * Updated: 12th November 2010 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2010, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 25 | * names of any contributors may be used to endorse or promote products 26 | * derived from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/inserters/p.hpp 44 | * 45 | * [C++ only] Defines shorthand name for pantheios::pointer inserter class. 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_P 49 | #define PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_P 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_P_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_P_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_P_REVISION 1 59 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_P_EDIT 2 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_POINTER 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_POINTER */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Namespace 76 | */ 77 | 78 | #if !defined(PANTHEIOS_NO_NAMESPACE) 79 | namespace pantheios 80 | { 81 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 82 | 83 | /* ///////////////////////////////////////////////////////////////////////// 84 | * Typedefs 85 | */ 86 | 87 | /** Typedef for pantheios::pointer inserter class. */ 88 | typedef pointer p; 89 | 90 | /* ///////////////////////////////////////////////////////////////////////// 91 | * Namespace 92 | */ 93 | 94 | #if !defined(PANTHEIOS_NO_NAMESPACE) 95 | } /* namespace pantheios */ 96 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 97 | 98 | /* ///////////////////////////////////////////////////////////////////////// 99 | * Inclusion 100 | */ 101 | 102 | #ifdef STLSOFT_PPF_pragma_once_SUPPORT 103 | # pragma once 104 | #endif /* STLSOFT_PPF_pragma_once_SUPPORT */ 105 | 106 | /* ////////////////////////////////////////////////////////////////////// */ 107 | 108 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_P */ 109 | 110 | /* ///////////////////////////// end of file //////////////////////////// */ 111 | -------------------------------------------------------------------------------- /include/pantheios/inserters/vb.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/inserters/vb.hpp 3 | * 4 | * Purpose: Defines shorthand name for pantheios::variant_bool inserter 5 | * class. 6 | * 7 | * Created: 18th June 2012 8 | * Updated: 18th June 2012 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2012, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 25 | * names of any contributors may be used to endorse or promote products 26 | * derived from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/inserters/vb.hpp 44 | * 45 | * [C++ only] Defines shorthand name for pantheios::variant_bool inserter class. 46 | */ 47 | 48 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_VB 49 | #define PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_VB 50 | 51 | /* ///////////////////////////////////////////////////////////////////////// 52 | * Version information 53 | */ 54 | 55 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 56 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_VB_MAJOR 1 57 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_VB_MINOR 0 58 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_VB_REVISION 1 59 | # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_VB_EDIT 1 60 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 61 | 62 | /* ///////////////////////////////////////////////////////////////////////// 63 | * Includes 64 | */ 65 | 66 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 67 | # include 68 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 69 | 70 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_VARIANT_BOOL 71 | # include 72 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_VARIANT_BOOL */ 73 | 74 | /* ///////////////////////////////////////////////////////////////////////// 75 | * Namespace 76 | */ 77 | 78 | #if !defined(PANTHEIOS_NO_NAMESPACE) 79 | namespace pantheios 80 | { 81 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 82 | 83 | /* ///////////////////////////////////////////////////////////////////////// 84 | * Typedefs 85 | */ 86 | 87 | /** Typedef for pantheios::variant_bool inserter class. */ 88 | typedef variant_bool vb; 89 | 90 | /* ///////////////////////////////////////////////////////////////////////// 91 | * Namespace 92 | */ 93 | 94 | #if !defined(PANTHEIOS_NO_NAMESPACE) 95 | } /* namespace pantheios */ 96 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 97 | 98 | /* ///////////////////////////////////////////////////////////////////////// 99 | * Inclusion 100 | */ 101 | 102 | #ifdef STLSOFT_PPF_pragma_once_SUPPORT 103 | # pragma once 104 | #endif /* STLSOFT_PPF_pragma_once_SUPPORT */ 105 | 106 | /* ////////////////////////////////////////////////////////////////////// */ 107 | 108 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_VB */ 109 | 110 | /* ///////////////////////////// end of file //////////////////////////// */ 111 | -------------------------------------------------------------------------------- /include/pantheios/internal/lean.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/internal/lean.h 3 | * 4 | * Purpose: Suppresses as much as possible of operating-system headers, 5 | * to decrease compilation times. 6 | * 7 | * Created: 22nd April 2008 8 | * Updated: 10th August 2009 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the names of Matthew Wilson and Synesis Software nor the names 25 | * of any contributors may be used to endorse or promote products derived 26 | * from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/internal/lean.h 44 | * 45 | * [C, C++] INTERNAL FILE: Suppresses as much as possible of 46 | * operating-system headers, to decrease compilation times. 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_LEAN 50 | #define PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_LEAN 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Includes 54 | */ 55 | 56 | #if defined(__FreeBSD__) || \ 57 | defined(__NetBSD__) || \ 58 | defined(__OpenBSD__) || \ 59 | defined(__bsdi__) || \ 60 | defined(_SYSTYPE_BSD) 61 | /* # include */ 62 | #endif /* BSD */ 63 | 64 | #if defined(__sysv__) || \ 65 | defined(__SVR4) || \ 66 | defined(__svr4__) || \ 67 | defined(_SYSTYPE_SVR4) 68 | /* # include */ 69 | #endif /* SVR4 */ 70 | 71 | #if defined(__APPLE__) || \ 72 | defined(__MACOSX__) 73 | /* # include */ 74 | #endif /* Mac */ 75 | 76 | #if defined(hpux) || \ 77 | defined(_hpux) 78 | /* # include */ 79 | #endif /* HPUX */ 80 | 81 | #if defined(__linux__) || \ 82 | defined(__linux) || \ 83 | defined(linux) 84 | /* # include */ 85 | #endif /* Linux */ 86 | 87 | #if defined(sun) || \ 88 | defined(__sun) 89 | /* # include */ 90 | #endif /* Sun */ 91 | 92 | #if defined(unix) || \ 93 | defined(UNIX) || \ 94 | defined(__unix__) || \ 95 | defined(__unix) 96 | /* # include */ 97 | #endif /* UNIX */ 98 | 99 | #if defined(_WIN32) || \ 100 | defined(_WIN64) 101 | # include 102 | #endif /* _WIN32 && _WIN64 */ 103 | 104 | /* ////////////////////////////////////////////////////////////////////// */ 105 | 106 | #endif /* PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_LEAN */ 107 | 108 | /* ///////////////////////////// end of file //////////////////////////// */ 109 | -------------------------------------------------------------------------------- /include/pantheios/internal/nox.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/internal/nox.h 3 | * 4 | * Purpose: Handles compiler warning suppression for those compilers 5 | * for which NoX builds are provided in the distribution. 6 | * 7 | * Created: 7th February 2008 8 | * Updated: 10th August 2009 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the names of Matthew Wilson and Synesis Software nor the names 25 | * of any contributors may be used to endorse or promote products derived 26 | * from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/internal/nox.h 44 | * 45 | * \brief [C, C++] INTERNAL FILE: Handles compiler warning suppression for 46 | * those compilers for which NoX builds are provided in the distribution. 47 | */ 48 | 49 | /* ///////////////////////////////////////////////////////////////////////// 50 | * Includes 51 | */ 52 | 53 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 54 | # include 55 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 56 | 57 | /* ///////////////////////////////////////////////////////////////////////// 58 | * Includes 59 | */ 60 | 61 | #if defined(STLSOFT_COMPILER_IS_MSVC) && \ 62 | _MSC_VER <= 1200 63 | 64 | # ifndef STLSOFT_CF_EXCEPTION_SUPPORT 65 | # pragma warning(disable : 4530) 66 | # endif /* !STLSOFT_CF_EXCEPTION_SUPPORT */ 67 | 68 | #endif /* compiler */ 69 | 70 | /* ///////////////////////////// end of file //////////////////////////// */ 71 | -------------------------------------------------------------------------------- /include/pantheios/internal/safestr.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/internal/safestr.h 3 | * 4 | * Purpose: Handles detection of safe string library. 5 | * 6 | * Created: 7th February 2008 7 | * Updated: 10th August 2009 8 | * 9 | * Home: http://www.pantheios.org/ 10 | * 11 | * Copyright (c) 2008-2009, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the names of Matthew Wilson and Synesis Software nor the names 24 | * of any contributors may be used to endorse or promote products derived 25 | * from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/internal/safestr.h 43 | * 44 | * \brief [C, C++] INTERNAL FILE: Handles detection of safe string library. 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_SAFESTR 48 | #define PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_SAFESTR 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Includes 52 | */ 53 | 54 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 55 | # include 56 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 57 | 58 | /* ///////////////////////////////////////////////////////////////////////// 59 | * Includes 60 | */ 61 | 62 | #ifdef __STDC_SECURE_LIB__ 63 | # if defined(__STDC_WANT_SECURE_LIB__) && \ 64 | __STDC_WANT_SECURE_LIB__ == 1 65 | # define PANTHEIOS_USING_SAFE_STR_FUNCTIONS 66 | # endif /* __STDC_WANT_SECURE_LIB__ */ 67 | #endif /* __STDC_SECURE_LIB__ */ 68 | 69 | /* ////////////////////////////////////////////////////////////////////// */ 70 | 71 | #endif /* PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_SAFESTR */ 72 | 73 | /* ///////////////////////////// end of file //////////////////////////// */ 74 | -------------------------------------------------------------------------------- /include/pantheios/internal/string_encoding.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/internal/string_encoding.h 3 | * 4 | * Purpose: Utilities to assist with implementation as multibyte or 5 | * wide string 6 | * 7 | * Created: 14th November 2008 8 | * Updated: 22nd March 2010 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2008-2010, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the names of Matthew Wilson and Synesis Software nor the names 25 | * of any contributors may be used to endorse or promote products derived 26 | * from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/internal/string_encoding.h 44 | * 45 | * [C, C++] Utilities to assist with implementation as multibyte or wide 46 | * string 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_STRING_ENCODING 50 | #define PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_STRING_ENCODING 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Includes 54 | */ 55 | 56 | #include 57 | 58 | /* ///////////////////////////////////////////////////////////////////////// 59 | * Macros 60 | */ 61 | 62 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 63 | # define PANTHEIOS_LITERAL_w_(x) L ## x 64 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 65 | 66 | /** \def PANTHEIOS_LITERAL_STRING(s) 67 | * 68 | * Defines the literal string as a multibyte or wide string, depending on 69 | * the absence or presence, respectively, of the symbol PANTHEIOS_USE_WIDE_STRINGS 70 | */ 71 | 72 | /** \def PANTHEIOS_LITERAL_CHAR(s) 73 | * 74 | * Defines the literal string as a multibyte or wide character, depending on 75 | * the absence or presence, respectively, of the symbol PANTHEIOS_USE_WIDE_STRINGS 76 | */ 77 | 78 | #ifdef PANTHEIOS_USE_WIDE_STRINGS 79 | # define PANTHEIOS_LITERAL_STRING(x) PANTHEIOS_LITERAL_w_(x) 80 | # define PANTHEIOS_LITERAL_CHAR(x) PANTHEIOS_LITERAL_w_(x) 81 | #else /* ? PANTHEIOS_USE_WIDE_STRINGS */ 82 | # define PANTHEIOS_LITERAL_STRING(x) x 83 | # define PANTHEIOS_LITERAL_CHAR(x) x 84 | #endif /* PANTHEIOS_USE_WIDE_STRINGS */ 85 | 86 | /* ////////////////////////////////////////////////////////////////////// */ 87 | 88 | #endif /* PANTHEIOS_INCL_PANTHEIOS_INTERNAL_H_STRING_ENCODING */ 89 | 90 | /* ///////////////////////////// end of file //////////////////////////// */ 91 | -------------------------------------------------------------------------------- /include/pantheios/pan.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/pan.hpp 3 | * 4 | * Purpose: Equivalent to the Pantheios C++ primary include 5 | * pantheios/pantheios.hpp, but aliases the pantheios 6 | * namespace to pan. 7 | * 8 | * Created: 13th January 2008 9 | * Updated: 24th June 2011 10 | * 11 | * Home: http://www.pantheios.org/ 12 | * 13 | * Copyright (c) 2008-2011, Matthew Wilson and Synesis Software 14 | * All rights reserved. 15 | * 16 | * Redistribution and use in source and binary forms, with or without 17 | * modification, are permitted provided that the following conditions are 18 | * met: 19 | * 20 | * - Redistributions of source code must retain the above copyright notice, 21 | * this list of conditions and the following disclaimer. 22 | * - Redistributions in binary form must reproduce the above copyright 23 | * notice, this list of conditions and the following disclaimer in the 24 | * documentation and/or other materials provided with the distribution. 25 | * - Neither the names of Matthew Wilson and Synesis Software nor the names 26 | * of any contributors may be used to endorse or promote products derived 27 | * from this software without specific prior written permission. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 30 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 31 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 32 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 33 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 34 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 35 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 36 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 37 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 38 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 39 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | * 41 | * ////////////////////////////////////////////////////////////////////// */ 42 | 43 | 44 | /** \file pantheios/pan.hpp 45 | * 46 | * \brief [C++ only] Equivalent to the Pantheios C++ primary include 47 | * pantheios/pantheios.hpp, but aliases the pantheios namespace to pan. 48 | */ 49 | 50 | #ifndef PANTHEIOS_INCL_PANTHEIOS_HPP_PAN 51 | #define PANTHEIOS_INCL_PANTHEIOS_HPP_PAN 52 | 53 | /* ///////////////////////////////////////////////////////////////////////// 54 | * Version information 55 | */ 56 | 57 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 58 | # define PANTHEIOS_VER_PANTHEIOS_HPP_PAN_MAJOR 1 59 | # define PANTHEIOS_VER_PANTHEIOS_HPP_PAN_MINOR 0 60 | # define PANTHEIOS_VER_PANTHEIOS_HPP_PAN_REVISION 3 61 | # define PANTHEIOS_VER_PANTHEIOS_HPP_PAN_EDIT 5 62 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 63 | 64 | /* ///////////////////////////////////////////////////////////////////////// 65 | * Language 66 | */ 67 | 68 | #ifndef __cplusplus 69 | # error This file can only be included in C++ compilation units 70 | #endif /* !__cplusplus */ 71 | 72 | /* ///////////////////////////////////////////////////////////////////////// 73 | * Includes 74 | */ 75 | 76 | #ifndef PANTHEIOS_INCL_PANTHEIOS_HPP_PANTHEIOS 77 | # include 78 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_HPP_PANTHEIOS */ 79 | 80 | /* ///////////////////////////////////////////////////////////////////////// 81 | * Namespace 82 | */ 83 | 84 | #if !defined(PANTHEIOS_NO_NAMESPACE) 85 | namespace pan = ::pantheios; 86 | #endif /* !PANTHEIOS_NO_NAMESPACE */ 87 | 88 | /* ///////////////////////////////////////////////////////////////////////// 89 | * Inclusion 90 | */ 91 | 92 | #ifdef STLSOFT_PPF_pragma_once_SUPPORT 93 | # pragma once 94 | #endif /* STLSOFT_PPF_pragma_once_SUPPORT */ 95 | 96 | /* ////////////////////////////////////////////////////////////////////// */ 97 | 98 | #endif /* PANTHEIOS_INCL_PANTHEIOS_HPP_PAN */ 99 | 100 | /* ///////////////////////////// end of file //////////////////////////// */ 101 | -------------------------------------------------------------------------------- /include/pantheios/util/com/exception_helpers.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/util/com/exception_helpers.hpp 3 | * 4 | * Purpose: This file is now obsolete. Instead obtain the 5 | * Pantheios::Extras::xHelpers project, and include 6 | * pantheios/extras/com/exception_helpers.hpp. 7 | * 8 | * Created: 1st May 2006 9 | * Updated: 27th December 2010 10 | * 11 | * Home: http://www.pantheios.org/ 12 | * 13 | * Copyright (c) 2006-2010, Matthew Wilson and Synesis Software 14 | * All rights reserved. 15 | * 16 | * Redistribution and use in source and binary forms, with or without 17 | * modification, are permitted provided that the following conditions are 18 | * met: 19 | * 20 | * - Redistributions of source code must retain the above copyright notice, 21 | * this list of conditions and the following disclaimer. 22 | * - Redistributions in binary form must reproduce the above copyright 23 | * notice, this list of conditions and the following disclaimer in the 24 | * documentation and/or other materials provided with the distribution. 25 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 26 | * names of any contributors may be used to endorse or promote products 27 | * derived from this software without specific prior written permission. 28 | * 29 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 30 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 31 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 32 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 33 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 34 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 35 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 36 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 37 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 38 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 39 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | * 41 | * ////////////////////////////////////////////////////////////////////// */ 42 | 43 | 44 | /** \file pantheios/util/com/exception_helpers.hpp 45 | * [C++ & COM only] This file is now obsolete. Instead obtain the 46 | * Pantheios::Extras::xHelpers project, and include 47 | * pantheios/extras/com/exception_helpers.hpp. 48 | */ 49 | 50 | #ifndef PANTHEIOS_INCL_PANTHEIOS_UTIL_COM_HPP_EXCEPTION_HELPERS 51 | #define PANTHEIOS_INCL_PANTHEIOS_UTIL_COM_HPP_EXCEPTION_HELPERS 52 | 53 | /* ///////////////////////////////////////////////////////////////////////// 54 | * Version information 55 | */ 56 | 57 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 58 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_COM_HPP_EXCEPTION_HELPERS_MAJOR 3 59 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_COM_HPP_EXCEPTION_HELPERS_MINOR 0 60 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_COM_HPP_EXCEPTION_HELPERS_REVISION 1 61 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_COM_HPP_EXCEPTION_HELPERS_EDIT 21 62 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 63 | 64 | /* ///////////////////////////////////////////////////////////////////////// 65 | * Includes 66 | */ 67 | 68 | #ifndef PANTHEIOS_INCL_PANTHEIOS_HPP_PANTHEIOS 69 | # include 70 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_HPP_PANTHEIOS */ 71 | 72 | #ifndef PANTHEIOS_INCL_PANTHEIOS_EXTRAS_COM_HPP_EXCEPTION_HELPERS 73 | # include 74 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_EXTRAS_COM_HPP_EXCEPTION_HELPERS */ 75 | 76 | #error This file (pantheios/util/com/exception_helpers.hpp) is now obsolete, and will be removed in a future release. Instead obtain the Pantheios::Extras::xHelpers project, and include pantheios/extras/com/exception_helpers.hpp 77 | 78 | /* ////////////////////////////////////////////////////////////////////// */ 79 | 80 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_UTIL_COM_HPP_EXCEPTION_HELPERS */ 81 | 82 | /* ///////////////////////////// end of file //////////////////////////// */ 83 | -------------------------------------------------------------------------------- /include/pantheios/util/memory/inserters.hpp: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/util/memory/inserters.hpp 3 | * 4 | * Purpose: Memory (de-)allocation for the inserters. 5 | * 6 | * Created: 8th January 2008 7 | * Updated: 14th October 2008 8 | * 9 | * Home: http://www.pantheios.org/ 10 | * 11 | * Copyright (c) 2008, Matthew Wilson and Synesis Software 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without 15 | * modification, are permitted provided that the following conditions are 16 | * met: 17 | * 18 | * - Redistributions of source code must retain the above copyright notice, 19 | * this list of conditions and the following disclaimer. 20 | * - Redistributions in binary form must reproduce the above copyright 21 | * notice, this list of conditions and the following disclaimer in the 22 | * documentation and/or other materials provided with the distribution. 23 | * - Neither the name(s) of Matthew Wilson and Synesis Software nor the 24 | * names of any contributors may be used to endorse or promote products 25 | * derived from this software without specific prior written permission. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 28 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 29 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 30 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 31 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 33 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 34 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 35 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 36 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 37 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | * ////////////////////////////////////////////////////////////////////// */ 40 | 41 | 42 | /** \file pantheios/util/memory/inserters.hpp 43 | * 44 | * [C++ only] Memory (de-)allocation for the inserters. 45 | */ 46 | 47 | #ifndef PANTHEIOS_INCL_PANTHEIOS_UTIL_INSERTERS_HPP_MEMORY 48 | #define PANTHEIOS_INCL_PANTHEIOS_UTIL_INSERTERS_HPP_MEMORY 49 | 50 | /* ///////////////////////////////////////////////////////////////////////// 51 | * Version information 52 | */ 53 | 54 | #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION 55 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_INSERTERS_HPP_MEMORY_MAJOR 2 56 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_INSERTERS_HPP_MEMORY_MINOR 0 57 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_INSERTERS_HPP_MEMORY_REVISION 1 58 | # define PANTHEIOS_VER_PANTHEIOS_UTIL_INSERTERS_HPP_MEMORY_EDIT 7 59 | #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ 60 | 61 | /* ///////////////////////////////////////////////////////////////////////// 62 | * Includes 63 | */ 64 | 65 | #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS 66 | # include 67 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS */ 68 | 69 | #error This file is now deprecated, as of 1.0.1 beta 166, and will be removed in a future release. Please instead implement inserter memory operations in terms of the new pantheios_inserterAllocate() and pantheios_inserterDeallocate() functions 70 | 71 | /* ////////////////////////////////////////////////////////////////////// */ 72 | 73 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_UTIL_INSERTERS_HPP_MEMORY */ 74 | 75 | /* ///////////////////////////// end of file //////////////////////////// */ 76 | -------------------------------------------------------------------------------- /include/pantheios/util/test/compiler_warnings_suppression.first_include.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/util/test/compiler_warnings_suppression.first_include.h 3 | * 4 | * Purpose: #include file to go at the start of a test file's #include 5 | * list. 6 | * 7 | * Created: 8th December 2007 8 | * Updated: 10th August 2009 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2007-2009, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the names of Matthew Wilson and Synesis Software nor the names 25 | * of any contributors may be used to endorse or promote products derived 26 | * from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/util/test/compiler_warnings_suppression.first_include.h 44 | * 45 | * [C, C++] \#include file to go at the start of a test file's \#include 46 | * list. 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_FIRST_INCLUDE 50 | #define PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_FIRST_INCLUDE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Includes 54 | */ 55 | 56 | #ifndef STLSOFT_INCL_STLSOFT_H_STLSOFT 57 | # include /* This will be reported not found if STLSoft version < 1.9 */ 58 | #endif /* !STLSOFT_INCL_STLSOFT_H_STLSOFT */ 59 | 60 | /* ///////////////////////////////////////////////////////////////////////// 61 | * Warning suppressions 62 | */ 63 | 64 | #ifdef STLSOFT_CF_EXCEPTION_SUPPORT 65 | # if defined(STLSOFT_COMPILER_IS_MSVC) 66 | # pragma warning(disable : 4702) 67 | # endif /* compiler */ 68 | #else /* ? STLSOFT_CF_EXCEPTION_SUPPORT */ 69 | # if defined(STLSOFT_COMPILER_IS_MSVC) 70 | # pragma warning(disable : 4530) 71 | # endif /* compiler */ 72 | #endif /* STLSOFT_CF_EXCEPTION_SUPPORT */ 73 | 74 | #if defined(STLSOFT_COMPILER_IS_MSVC) 75 | # if _MSC_VER >= 1400 76 | # pragma warning(disable : 4996) 77 | # endif /* _MSC_VER >= 1400 */ 78 | #endif /* compiler */ 79 | 80 | /* ////////////////////////////////////////////////////////////////////// */ 81 | 82 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_FIRST_INCLUDE */ 83 | 84 | /* ///////////////////////////// end of file //////////////////////////// */ 85 | -------------------------------------------------------------------------------- /include/pantheios/util/test/compiler_warnings_suppression.last_include.h: -------------------------------------------------------------------------------- 1 | /* ///////////////////////////////////////////////////////////////////////// 2 | * File: pantheios/util/test/compiler_warnings_suppression.last_include.h 3 | * 4 | * Purpose: #include file to go at the end of a test file's #include 5 | * list. 6 | * 7 | * Created: 8th December 2007 8 | * Updated: 13th August 2010 9 | * 10 | * Home: http://www.pantheios.org/ 11 | * 12 | * Copyright (c) 2007-2010, Matthew Wilson and Synesis Software 13 | * All rights reserved. 14 | * 15 | * Redistribution and use in source and binary forms, with or without 16 | * modification, are permitted provided that the following conditions are 17 | * met: 18 | * 19 | * - Redistributions of source code must retain the above copyright notice, 20 | * this list of conditions and the following disclaimer. 21 | * - Redistributions in binary form must reproduce the above copyright 22 | * notice, this list of conditions and the following disclaimer in the 23 | * documentation and/or other materials provided with the distribution. 24 | * - Neither the names of Matthew Wilson and Synesis Software nor the names 25 | * of any contributors may be used to endorse or promote products derived 26 | * from this software without specific prior written permission. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 29 | * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 30 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 31 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 32 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 33 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 34 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 35 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 36 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 37 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 38 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | * ////////////////////////////////////////////////////////////////////// */ 41 | 42 | 43 | /** \file pantheios/util/test/compiler_warnings_suppression.last_include.h 44 | * 45 | * [C, C++] \#include file to go at the end of a test file's \#include 46 | * list. 47 | */ 48 | 49 | #ifndef PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_LAST_INCLUDE 50 | #define PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_LAST_INCLUDE 51 | 52 | /* ///////////////////////////////////////////////////////////////////////// 53 | * Includes 54 | */ 55 | 56 | #ifndef PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_FIRST_INCLUDE 57 | # error This file cannot be included unless pantheios/util/test/compiler_warnings_suppression.first_include.h has already been included 58 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_FIRST_INCLUDE */ 59 | 60 | /* ///////////////////////////////////////////////////////////////////////// 61 | * Warning suppressions 62 | */ 63 | 64 | #if defined(STLSOFT_COMPILER_IS_BORLAND) 65 | # pragma warn -8008 /* Suppresses: "Condition is always %s" */ 66 | # pragma warn -8080 /* Suppresses: "'%s' is declared but never used" */ 67 | # pragma warn -8026 /* Suppresses: "Functions with exception specifications are not expanded inline in function '%s'" */ 68 | #endif /* compiler */ 69 | 70 | #if defined(STLSOFT_COMPILER_IS_MSVC) && \ 71 | _MSC_VER > 1100 72 | # if !defined(STLSOFT_CF_EXCEPTION_SUPPORT) 73 | # pragma warning(default : 4530) /* Switch it back on here */ 74 | # endif /* !STLSOFT_CF_EXCEPTION_SUPPORT */ 75 | #endif /* compiler */ 76 | 77 | /* ////////////////////////////////////////////////////////////////////// */ 78 | 79 | #endif /* !PANTHEIOS_INCL_PANTHEIOS_UTIL_TEST_H_COMPILER_WARNINGS_SUPPRESSION_LAST_INCLUDE */ 80 | 81 | /* ///////////////////////////// end of file //////////////////////////// */ 82 | -------------------------------------------------------------------------------- /include/xml/include.cpp: -------------------------------------------------------------------------------- 1 | #include "pugixml.hpp" 2 | 3 | #include 4 | #include 5 | 6 | //[code_include 7 | bool load_preprocess(pugi::xml_document& doc, const char* path); 8 | 9 | bool preprocess(pugi::xml_node node) 10 | { 11 | for (pugi::xml_node child = node.first_child(); child; ) 12 | { 13 | if (child.type() == pugi::node_pi && strcmp(child.name(), "include") == 0) 14 | { 15 | pugi::xml_node include = child; 16 | 17 | // load new preprocessed document (note: ideally this should handle relative paths) 18 | const char* path = include.value(); 19 | 20 | pugi::xml_document doc; 21 | if (!load_preprocess(doc, path)) return false; 22 | 23 | // insert the comment marker above include directive 24 | node.insert_child_before(pugi::node_comment, include).set_value(path); 25 | 26 | // copy the document above the include directive (this retains the original order!) 27 | for (pugi::xml_node ic = doc.first_child(); ic; ic = ic.next_sibling()) 28 | { 29 | node.insert_copy_before(ic, include); 30 | } 31 | 32 | // remove the include node and move to the next child 33 | child = child.next_sibling(); 34 | 35 | node.remove_child(include); 36 | } 37 | else 38 | { 39 | if (!preprocess(child)) return false; 40 | 41 | child = child.next_sibling(); 42 | } 43 | } 44 | 45 | return true; 46 | } 47 | 48 | bool load_preprocess(pugi::xml_document& doc, const char* path) 49 | { 50 | pugi::xml_parse_result result = doc.load_file(path, pugi::parse_default | pugi::parse_pi); // for 51 | 52 | return result ? preprocess(doc) : false; 53 | } 54 | //] 55 | /* 56 | int main() 57 | { 58 | pugi::xml_document doc; 59 | if (!load_preprocess(doc, "character.xml")) return -1; 60 | 61 | doc.print(std::cout); 62 | } 63 | */ 64 | 65 | // vim:et 66 | -------------------------------------------------------------------------------- /include/xml/include.hpp: -------------------------------------------------------------------------------- 1 | #include "pugixml.hpp" 2 | 3 | extern bool load_preprocess(pugi::xml_document& doc, const char* path); 4 | 5 | -------------------------------------------------------------------------------- /include/xml/pugiconfig.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | * pugixml parser - version 1.4 3 | * -------------------------------------------------------- 4 | * Copyright (C) 2006-2014, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com) 5 | * Report bugs and download new versions at http://pugixml.org/ 6 | * 7 | * This library is distributed under the MIT License. See notice at the end 8 | * of this file. 9 | * 10 | * This work is based on the pugxml parser, which is: 11 | * Copyright (C) 2003, by Kristen Wegner (kristen@tima.net) 12 | */ 13 | 14 | #ifndef HEADER_PUGICONFIG_HPP 15 | #define HEADER_PUGICONFIG_HPP 16 | 17 | // Uncomment this to enable wchar_t mode 18 | // #define PUGIXML_WCHAR_MODE 19 | 20 | // Uncomment this to disable XPath 21 | // #define PUGIXML_NO_XPATH 22 | 23 | // Uncomment this to disable STL 24 | // #define PUGIXML_NO_STL 25 | 26 | // Uncomment this to disable exceptions 27 | // #define PUGIXML_NO_EXCEPTIONS 28 | 29 | // Set this to control attributes for public classes/functions, i.e.: 30 | // #define PUGIXML_API __declspec(dllexport) // to export all public symbols from DLL 31 | // #define PUGIXML_CLASS __declspec(dllimport) // to import all classes from DLL 32 | // #define PUGIXML_FUNCTION __fastcall // to set calling conventions to all public functions to fastcall 33 | // In absence of PUGIXML_CLASS/PUGIXML_FUNCTION definitions PUGIXML_API is used instead 34 | 35 | // Tune these constants to adjust memory-related behavior 36 | // #define PUGIXML_MEMORY_PAGE_SIZE 32768 37 | // #define PUGIXML_MEMORY_OUTPUT_STACK 10240 38 | // #define PUGIXML_MEMORY_XPATH_PAGE_SIZE 4096 39 | 40 | // Uncomment this to switch to header-only version 41 | // #define PUGIXML_HEADER_ONLY 42 | // #include "pugixml.cpp" 43 | 44 | // Uncomment this to enable long long support 45 | // #define PUGIXML_HAS_LONG_LONG 46 | 47 | #endif 48 | 49 | /** 50 | * Copyright (c) 2006-2014 Arseny Kapoulkine 51 | * 52 | * Permission is hereby granted, free of charge, to any person 53 | * obtaining a copy of this software and associated documentation 54 | * files (the "Software"), to deal in the Software without 55 | * restriction, including without limitation the rights to use, 56 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 57 | * copies of the Software, and to permit persons to whom the 58 | * Software is furnished to do so, subject to the following 59 | * conditions: 60 | * 61 | * The above copyright notice and this permission notice shall be 62 | * included in all copies or substantial portions of the Software. 63 | * 64 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 65 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 66 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 67 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 68 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 69 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 70 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 71 | * OTHER DEALINGS IN THE SOFTWARE. 72 | */ 73 | -------------------------------------------------------------------------------- /utils/Common.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/utils/Common.cpp -------------------------------------------------------------------------------- /utils/Common.h: -------------------------------------------------------------------------------- 1 | 2 | //#include "log.h" 3 | 4 | class common_lib_facade 5 | { 6 | public: 7 | common_lib_facade(const char *strConfFile); 8 | 9 | ~common_lib_facade(); 10 | 11 | 12 | 13 | bool InitCommon(const char *strConfFile); 14 | 15 | bool DeInitCommon(); 16 | 17 | 18 | }; 19 | -------------------------------------------------------------------------------- /utils/Http.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/utils/Http.cpp -------------------------------------------------------------------------------- /utils/Http.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fgmailbox/LibAsio/525348657e25fcaf22fee6f33a0b353c7bff34d0/utils/Http.h -------------------------------------------------------------------------------- /utils/Singleton2.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | Copyright (C), 2009, Co. Ltd. 3 | FileName: Singleton2.cpp 4 | Author: fenggang 5 | Version : 1.0 6 | Date: 2012.9.6 7 | 8 | Function List: 9 | History: 10 |