Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:30

0001 /*
0002  * Copyright (c) 2019 Opticks Team. All Rights Reserved.
0003  *
0004  * This file is part of Opticks
0005  * (see https://bitbucket.org/simoncblyth/opticks).
0006  *
0007  * Licensed under the Apache License, Version 2.0 (the "License"); 
0008  * you may not use this file except in compliance with the License.  
0009  * You may obtain a copy of the License at
0010  *
0011  *   http://www.apache.org/licenses/LICENSE-2.0
0012  *
0013  * Unless required by applicable law or agreed to in writing, software 
0014  * distributed under the License is distributed on an "AS IS" BASIS, 
0015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
0016  * See the License for the specific language governing permissions and 
0017  * limitations under the License.
0018  */
0019 
0020 #pragma once
0021 
0022 /**
0023 struct SAr
0024 ==============
0025 
0026 **/
0027 
0028 #include "SYSRAP_API_EXPORT.hh"
0029 
0030 struct SYSRAP_API SAr
0031 {
0032     static SAr* Instance ; 
0033 
0034     SAr( const char* name , const char* envvar=0, char delim=' ' ) ;
0035     SAr( int argc_ , char** argv_ , const char* envvar=0, char delim=' ' ) ;
0036 
0037     void init(const char* envvar, char delim);
0038     void args_from_envvar( const char* envvar, char delim );
0039     void sanitycheck() const ; 
0040 
0041     const char* exepath() const ;
0042     const char* exename() const ;
0043     static const char* Basename(const char* path);
0044     std::string argline() const ;
0045     const char* cmdline() const ;
0046     const char* get_arg_after(const char* arg, const char* fallback) const ;
0047     int         get_int_after(const char* arg, const char* fallback) const ;
0048     bool        has_arg( const char* arg ) const ; 
0049     void        dump() const ;
0050 
0051     int    _argc ;
0052     char** _argv ; 
0053 
0054     const char* _cmdline ; 
0055 };
0056 
0057 
0058