added sysprog entities
This commit is contained in:
257
SYSPROG/STPROCINS/RTI_HASHTABLE_EQUATES.txt
Normal file
257
SYSPROG/STPROCINS/RTI_HASHTABLE_EQUATES.txt
Normal file
@ -0,0 +1,257 @@
|
||||
compile insert rti_HashTable_Equates
|
||||
/*
|
||||
** Copyright (C) 1992-2016 Revelation Software Inc. All Rights Reserved **
|
||||
|
||||
Author : Captain C
|
||||
Date : September 2016
|
||||
Purpose : Constants for use with the HashTable functions in RevSTL.DLL
|
||||
|
||||
Comments
|
||||
========
|
||||
|
||||
Amended Date Reason
|
||||
======= ==== ======
|
||||
Mr C 31 Mar 17 Added Hashtable row flags
|
||||
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
#ifndef _RTI_HASHTABLE_EQUATES_
|
||||
#define _RTI_HASHTABLE_EQUATES_
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
equ REVSTL_HTBL_SUCCESS$ to 0
|
||||
equ REVSTL_HTBL_MAX_ERROR_LEN$ to 2048
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// HashTable methods
|
||||
equ REVSTL_HTBLMTD_CREATETABLE$ to 1
|
||||
equ REVSTL_HTBLMTD_READROW$ to 2
|
||||
equ REVSTL_HTBLMTD_WRITEROW$ to 3
|
||||
equ REVSTL_HTBLMTD_DELETEROW$ to 4
|
||||
equ REVSTL_HTBLMTD_CLEARTABLE$ to 5
|
||||
equ REVSTL_HTBLMTD_CLOSETABLE$ to 6
|
||||
equ REVSTL_HTBLMTD_ROWEXISTS$ to 7
|
||||
equ REVSTL_HTBLMTD_LISTKEYS$ to 8
|
||||
equ REVSTL_HTBLMTD_GETROWCOUNT$ to 9
|
||||
|
||||
equ REVSTL_HTBLMTD_FIRST$ to REVSTL_HTBLMTD_CREATETABLE$
|
||||
equ REVSTL_HTBLMTD_LAST$ to REVSTL_HTBLMTD_GETROWCOUNT$
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// HashTable types
|
||||
equ REVSTL_HTBLTYPE_STD$ to 1 ; // std::unordered_map (VS2015)
|
||||
equ REVSTL_HTBLTYPE_BOOST$ to 2 ; // boost::unordered_map
|
||||
equ REVSTL_HTBLTYPE_SPP$ to 3 ; // spp::sparsepp
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Hashtable row flags
|
||||
equ REVSTL_HTBLROW_IDISPATCH$ to 0x0001; // Store OleVar
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// HashTable error codes
|
||||
equ REVSTL_HTBLERR_BADMETHOD$ to -1
|
||||
equ REVSTL_HTBLERR_OUTOFHANDLES$ to -2
|
||||
equ REVSTL_HTBLERR_BADINITPARAM$ to -3
|
||||
equ REVSTL_HTBLERR_OUTOFMEM$ to -4
|
||||
equ REVSTL_HTBLERR_BADHANDLE$ to -5
|
||||
equ REVSTL_HTBLERR_BADKEY$ to -6
|
||||
equ REVSTL_HTBLERR_ROW_DNE$ to -7
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_CREATETABLE$ method
|
||||
//
|
||||
// Creates a hashtable and returns the handle.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// [i] param1 : InitParam. This is an @fm delimited array of init parameters
|
||||
// : structures as follows:
|
||||
// :
|
||||
// : <1> Type of HashTable - defaults to REVSTL_HTBLTYPE_STD$
|
||||
// : <2> Expected RowCount - presizes the table to hold the
|
||||
// : passed number of rows. Defaults to 0.
|
||||
// ----------------------------------------------------------------------------
|
||||
// [r] Returns the table handle if successful (a value > 0), or an error code
|
||||
// (a value < 0) if it fails.
|
||||
// ----------------------------------------------------------------------------
|
||||
// [e] Error details are returned via Set_Status()
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// InitParam constants
|
||||
equ REVSTL_HTBL_INITPARAM_TYPE$ to 1
|
||||
equ REVSTL_HTBL_INITPARAM_ROWCOUNT$ to 2
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_READROW$ method
|
||||
//
|
||||
// Reads a row from the specified hash table.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// [i] param1 : HashTable handle
|
||||
// [i] param2 : Key to read
|
||||
// [o] param3 : The row data retrieved from the hash table
|
||||
// ----------------------------------------------------------------------------
|
||||
// [r] The size of the row data read from the table, or an error code
|
||||
// (a value < 0) if it fails.
|
||||
// ----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_WRITEROW$ method
|
||||
//
|
||||
// Writes a row to the specified hash table using the specified key.
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
// [i] param1 : HashTable handle
|
||||
// [i] param2 : Key to write
|
||||
// [i] param3 : Row data to write
|
||||
// -----------------------------------------------------------------------------
|
||||
// [r] Returns 0 if successful or an error code (a value < 0) if it fails.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_DELETEROW$ method
|
||||
//
|
||||
// Deletes a row from the specified hash table using the specified key.
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
// [i] param1 : HashTable handle
|
||||
// [i] param2 : Key to delete
|
||||
// -----------------------------------------------------------------------------
|
||||
// [r] Returns 1 if the row was deleted, 0 if it didn't exist, or an error
|
||||
// code (a value < 0) if it fails.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_CLEARTABLE$ method
|
||||
//
|
||||
// Deletes all records from the HashTable
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
// [i] param1 : HashTable handle
|
||||
// -----------------------------------------------------------------------------
|
||||
// [r] Returns 0 if the table was cleared, or an error code (a value < 0) if it
|
||||
// fails.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_CLOSETABLE$ method
|
||||
//
|
||||
// Closes (destroys) a HashTable. Do not use the handle afterwards!
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
// [i,o] param1 : HashTable handle. This is set to 0 if the table is closed.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [r] Returns 0 if the table was destoryed, or an error code (a value < 0) if
|
||||
// fails.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_ROWEXISTS$ method
|
||||
//
|
||||
// Verifies that a row exists within a HashTable.
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
// [i] param1 : HashTable handle
|
||||
// [i] param2 : Key to verify
|
||||
// -----------------------------------------------------------------------------
|
||||
// [r] Returns 1 if the row exists, 0 if it doesn't, or an error code (a
|
||||
// value < 0) if it fails.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_LISTKEYS$ method
|
||||
//
|
||||
// Returns an @fm delimited list of keys from the hashtable
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
// [i] param1 : HashTable handle
|
||||
// [o] param2 : @fm'd list of keys
|
||||
// -----------------------------------------------------------------------------
|
||||
// [r] Returns the number of keys in the list if successful, or an error code
|
||||
// (a value < 0) if it fails.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// REVSTL_HTBLMTD_GETROWCOUNT$ method
|
||||
//
|
||||
// Returns the number of rows stored in the hashtable
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
// [i] param1 : HashTable handle
|
||||
// -----------------------------------------------------------------------------
|
||||
// [r] Returns the number of rows in the table if successful, or an error code
|
||||
// (a value < 0) if it fails.
|
||||
// -----------------------------------------------------------------------------
|
||||
// [e] Errors are returned via set_Status()
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Licensing Info for SparsePP ////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Copyright (c) 2016, Gregory Popovitch - greg7mdp@gmail.com
|
||||
// All rights reserved.
|
||||
//
|
||||
// This work is derived from Google's sparsehash library
|
||||
//
|
||||
// Copyright (c) 2005, Google Inc.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
#endif _RTI_HASHTABLE_EQUATES_
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user