Example #1
0
/** includes the blk file reader in SCIP */
SCIP_RETCODE SCIPincludeReaderBlk(
    SCIP*                 scip                /**< SCIP data structure */
)
{
    SCIP_READERDATA* readerdata;

    /* create blk reader data */
    SCIP_CALL( SCIPallocMemory(scip, &readerdata) );

    /* include blk reader */
    SCIP_CALL( SCIPincludeReader(scip, READER_NAME, READER_DESC, READER_EXTENSION, NULL,
                                 readerFreeBlk, readerReadBlk, readerWriteBlk, readerdata) );

    return SCIP_OKAY;
}
Example #2
0
/** includes the xyz file reader in SCIP */
SCIP_RETCODE SCIPincludeReaderXyz(
   SCIP*                 scip                /**< SCIP data structure */
   )
{
   SCIP_READERDATA* readerdata;
   SCIP_READER* reader;

   /* create xyz reader data */
   readerdata = NULL;
   /* TODO: (optional) create reader specific data here */

   reader = NULL;

   /* include reader */
#if 0
   /* use SCIPincludeReader() if you want to set all callbacks explicitly and realize (by getting compiler errors) when
    * new callbacks are added in future SCIP versions
    */
   SCIP_CALL( SCIPincludeReader(scip, READER_NAME, READER_DESC, READER_EXTENSION,
         readerCopyXyz, readerFreeXyz, readerReadXyz, readerWriteXyz, readerdata) );
#else
   /* use SCIPincludeReaderBasic() plus setter functions if you want to set callbacks one-by-one and your code should
    * compile independent of new callbacks being added in future SCIP versions
    */
   SCIP_CALL( SCIPincludeReaderBasic(scip, &reader, READER_NAME, READER_DESC, READER_EXTENSION, readerdata) );

   assert(reader != NULL);

   /* set non fundamental callbacks via setter functions */
   SCIP_CALL( SCIPsetReaderCopy(scip, reader, readerCopyXyz) );
   SCIP_CALL( SCIPsetReaderFree(scip, reader, readerFreeXyz) );
   SCIP_CALL( SCIPsetReaderRead(scip, reader, readerReadXyz) );
   SCIP_CALL( SCIPsetReaderWrite(scip, reader, readerWriteXyz) );
#endif

   /* add xyz reader parameters */
   /* TODO: (optional) add reader specific parameters with SCIPaddTypeParam() here */

   return SCIP_OKAY;
}
Example #3
0
/** creates the file reader for the given file reader object and includes it in SCIP */
SCIP_RETCODE SCIPincludeObjReader(
   SCIP*                 scip,               /**< SCIP data structure */
   scip::ObjReader*      objreader,          /**< file reader object */
   SCIP_Bool             deleteobject        /**< should the reader object be deleted when reader is freed? */
   )
{
   SCIP_READERDATA* readerdata;

   assert(scip != NULL);
   assert(objreader != NULL);

   /* create file reader data */
   readerdata = new SCIP_READERDATA;
   readerdata->objreader = objreader;
   readerdata->deleteobject = deleteobject;

   /* include file reader */
   SCIP_CALL( SCIPincludeReader(scip, objreader->scip_name_, objreader->scip_desc_, objreader->scip_extension_,
         readerCopyObj,
         readerFreeObj, readerReadObj, readerWriteObj, readerdata) ); /*lint !e429*/

   return SCIP_OKAY; /*lint !e429*/
}