00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024 #ifndef SHALGEBRA_HPP
00025 #define SHALGEBRA_HPP
00026
00027 #include <string>
00028 #include "ShDllExport.hpp"
00029 #include "ShProgram.hpp"
00030 #include "ShSyntax.hpp"
00031 #include "ShAttrib.hpp"
00032
00033 namespace SH {
00034
00041 SH_DLLEXPORT
00042 ShProgram connect(ShProgram a, ShProgram b);
00043
00049 SH_DLLEXPORT
00050 ShProgram combine(ShProgram a, ShProgram b);
00051
00065 SH_DLLEXPORT
00066 ShProgram namedCombine(ShProgram a, ShProgram b);
00067
00077 SH_DLLEXPORT
00078 ShProgram namedConnect(ShProgram a, ShProgram b, bool keepExtra = false );
00079
00082 SH_DLLEXPORT
00083 ShProgram renameInput(ShProgram a, const std::string& oldName, const std::string& newName);
00084
00087 SH_DLLEXPORT
00088 ShProgram renameOutput(ShProgram a, const std::string& oldName, const std::string& newName);
00089
00094 SH_DLLEXPORT
00095 ShProgram namedAlign(ShProgram a, ShProgram b);
00096
00101 SH_DLLEXPORT
00102 ShProgram replaceVariable(ShProgram a, const ShVariable &var);
00103
00106 SH_DLLEXPORT
00107 ShProgram operator&(ShProgram a, ShProgram b);
00108
00111 SH_DLLEXPORT
00112 ShProgram operator<<(ShProgram a, ShProgram b);
00113
00116 SH_DLLEXPORT
00117 ShProgram operator>>(ShProgram p, const ShVariable &var);
00118
00124 SH_DLLEXPORT
00125 ShProgram operator<<(ShProgram a, const ShVariable& var);
00126
00127 }
00128
00129 #endif