; 
; Exports of file bnts.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY bnts.dll
EXPORTS
; public: __cdecl BNTS::BNTS(void) __ptr64
??0BNTS@@QEAA@XZ
; public: __cdecl BNTS::~BNTS(void) __ptr64
??1BNTS@@QEAA@XZ
; public: class BNTS & __ptr64 __cdecl BNTS::operator=(class BNTS const & __ptr64) __ptr64
??4BNTS@@QEAAAEAV0@AEBV0@@Z
; protected: int __cdecl BNTS::BGetPropItemReal(class LTBNPROP & __ptr64,char const * __ptr64,int,double & __ptr64) __ptr64
?BGetPropItemReal@BNTS@@IEAAHAEAVLTBNPROP@@PEBDHAEAN@Z
; protected: int __cdecl BNTS::BGetPropItemStr(class LTBNPROP & __ptr64,char const * __ptr64,int,class ZSTR & __ptr64) __ptr64
?BGetPropItemStr@BNTS@@IEAAHAEAVLTBNPROP@@PEBDHAEAVZSTR@@@Z
; public: int __cdecl BNTS::BGetRecommendations(void) __ptr64
?BGetRecommendations@BNTS@@QEAAHXZ
; public: int __cdecl BNTS::BImpossible(void) __ptr64
?BImpossible@BNTS@@QEAAHXZ
; public: int __cdecl BNTS::BNetPropItemReal(char const * __ptr64,int,double & __ptr64) __ptr64
?BNetPropItemReal@BNTS@@QEAAHPEBDHAEAN@Z
; public: int __cdecl BNTS::BNetPropItemStr(char const * __ptr64,int) __ptr64
?BNetPropItemStr@BNTS@@QEAAHPEBDH@Z
; public: int __cdecl BNTS::BNodePropItemReal(char const * __ptr64,int,double & __ptr64) __ptr64
?BNodePropItemReal@BNTS@@QEAAHPEBDHAEAN@Z
; public: int __cdecl BNTS::BNodePropItemStr(char const * __ptr64,int) __ptr64
?BNodePropItemStr@BNTS@@QEAAHPEBDH@Z
; public: int __cdecl BNTS::BNodeSet(int,bool) __ptr64
?BNodeSet@BNTS@@QEAAHH_N@Z
; public: int __cdecl BNTS::BNodeSetCurrent(int) __ptr64
?BNodeSetCurrent@BNTS@@QEAAHH@Z
; public: int __cdecl BNTS::BReadModel(char const * __ptr64,char const * __ptr64) __ptr64
?BReadModel@BNTS@@QEAAHPEBD0@Z
; public: bool __cdecl BNTS::BValidNet(void)const  __ptr64
?BValidNet@BNTS@@QEBA_NXZ
; public: bool __cdecl BNTS::BValidNode(void)const  __ptr64
?BValidNode@BNTS@@QEBA_NXZ
; public: int __cdecl BNTS::CInt(void)const  __ptr64
?CInt@BNTS@@QEBAHXZ
; public: int __cdecl BNTS::CNode(void) __ptr64
?CNode@BNTS@@QEAAHXZ
; public: int __cdecl BNTS::CReal(void)const  __ptr64
?CReal@BNTS@@QEBAHXZ
; public: void __cdecl BNTS::Clear(void) __ptr64
?Clear@BNTS@@QEAAXXZ
; protected: void __cdecl BNTS::ClearArrays(void) __ptr64
?ClearArrays@BNTS@@IEAAXXZ
; protected: void __cdecl BNTS::ClearString(void) __ptr64
?ClearString@BNTS@@IEAAXXZ
; public: enum ESTDLBL  __cdecl BNTS::ELblNode(void) __ptr64
?ELblNode@BNTS@@QEAA?AW4ESTDLBL@@XZ
; public: int __cdecl BNTS::INode(char const * __ptr64) __ptr64
?INode@BNTS@@QEAAHPEBD@Z
; public: int __cdecl BNTS::INodeCst(void) __ptr64
?INodeCst@BNTS@@QEAAHXZ
; public: int __cdecl BNTS::INodeCurrent(void) __ptr64
?INodeCurrent@BNTS@@QEAAHXZ
; public: int __cdecl BNTS::INodeState(void) __ptr64
?INodeState@BNTS@@QEAAHXZ
; protected: class MBNETDSCTS & __ptr64 __cdecl BNTS::Mbnet(void) __ptr64
?Mbnet@BNTS@@IEAAAEAVMBNETDSCTS@@XZ
; protected: class MBNETDSCTS const & __ptr64 __cdecl BNTS::Mbnet(void)const  __ptr64
?Mbnet@BNTS@@IEBAAEBVMBNETDSCTS@@XZ
; public: void __cdecl BNTS::NodeBelief(void) __ptr64
?NodeBelief@BNTS@@QEAAXXZ
; public: void __cdecl BNTS::NodeFullName(void) __ptr64
?NodeFullName@BNTS@@QEAAXXZ
; public: void __cdecl BNTS::NodeStateName(int) __ptr64
?NodeStateName@BNTS@@QEAAXH@Z
; public: void __cdecl BNTS::NodeSymName(void) __ptr64
?NodeSymName@BNTS@@QEAAXXZ
; protected: class GNODEMBND * __ptr64 __cdecl BNTS::Pgndd(void) __ptr64
?Pgndd@BNTS@@IEAAPEAVGNODEMBND@@XZ
; public: int const * __ptr64 __cdecl BNTS::RgInt(void)const  __ptr64
?RgInt@BNTS@@QEBAPEBHXZ
; public: double const * __ptr64 __cdecl BNTS::RgReal(void)const  __ptr64
?RgReal@BNTS@@QEBAPEBNXZ
; public: char const * __ptr64 __cdecl BNTS::SzcResult(void)const  __ptr64
?SzcResult@BNTS@@QEBAPEBDXZ
; protected: class ZSTR & __ptr64 __cdecl BNTS::ZstrResult(void) __ptr64
?ZstrResult@BNTS@@IEAAAEAVZSTR@@XZ
