1 /*=========================================================================== 2 * 3 * PUBLIC DOMAIN NOTICE 4 * National Center for Biotechnology Information 5 * 6 * This software/database is a "United States Government Work" under the 7 * terms of the United States Copyright Act. It was written as part of 8 * the author's official duties as a United States Government employee and 9 * thus cannot be copyrighted. This software/database is freely available 10 * to the public for use. The National Library of Medicine and the U.S. 11 * Government have not placed any restriction on its use or reproduction. 12 * 13 * Although all reasonable efforts have been taken to ensure the accuracy 14 * and reliability of the software and data, the NLM and the U.S. 15 * Government do not and cannot warrant the performance or results that 16 * may be obtained by using this software or data. The NLM and the U.S. 17 * Government disclaim all warranties, express or implied, including 18 * warranties of performance, merchantability or fitness for any particular 19 * purpose. 20 * 21 * Please cite the author in any work or product based on this material. 22 * 23 * =========================================================================== 24 * 25 */ 26 27 #ifndef _hpp_ngs_itf_err_block_ 28 #define _hpp_ngs_itf_err_block_ 29 30 #ifndef _hp_ngs_itf_error_msg_ 31 #include <ngs/itf/ErrorMsg.hpp> 32 #endif 33 34 #ifndef _h_ngs_itf_err_block_ 35 #include <ngs/itf/ErrBlock.h> 36 #endif 37 38 namespace ngs 39 { 40 41 /*---------------------------------------------------------------------- 42 * ErrBlock 43 * holds a message describing what happened 44 */ 45 struct ErrBlock : public :: NGS_ErrBlock_v1 46 { 47 void Throw () const 48 NGS_THROWS ( ErrorMsg ); 49 50 inline Checkngs::ErrBlock51 void Check () const 52 NGS_THROWS ( ErrorMsg ) 53 { 54 if ( xtype != xt_okay ) 55 Throw (); 56 } 57 ErrBlockngs::ErrBlock58 ErrBlock () 59 { 60 xtype = xt_okay; 61 msg [ 0 ] = 0; 62 } 63 }; 64 65 } // namespace ngs 66 67 #endif // _hpp_ngs_itf_err_block_ 68