;;; ----------------------------------------------------------------------
;;;
;;; ILTCPLIBTYPE: Basic types for the C++ library
;;;
;;; ----------------------------------------------------------------------
;;;
;;; This file is part of ILOG Talk.
;;; Inquiries to ILOG S.A.
;;;              9 rue de Verdun, BP 85,
;;;              94253 Gentilly Cedex, France.
;;;
;;; Copyright (c) 1995-1996 by ILOG
;;; ----------------------------------------------------------------------
;;;

(define-cpp-converter char* other-proxy)
(define-cpp-converter signed-char* other-proxy)
(define-cpp-converter unsigned-char* other-proxy)
(define-cpp-converter short* other-proxy)
(define-cpp-converter unsigned-short* other-proxy)
(define-cpp-converter int* other-proxy)
(define-cpp-converter unsigned* other-proxy)
(define-cpp-converter long* other-proxy)
(define-cpp-converter unsigned-long* other-proxy)
(define-cpp-converter float* other-proxy)
(define-cpp-converter double* other-proxy)
(define-cpp-converter char** other-proxy)
(define-cpp-converter void** other-proxy)

(define-cpp-array char char* ())
(define-cpp-array signed-char signed-char* ())
(define-cpp-array unsigned-char unsigned-char* ())
(define-cpp-array short short* ())
(define-cpp-array unsigned-short unsigned-short* ())
(define-cpp-array int int* ())
(define-cpp-array unsigned unsigned* ())
(define-cpp-array long long* ())
(define-cpp-array unsigned-long unsigned-long* ())
(define-cpp-array float float* ())
(define-cpp-array double double* ())
(define-cpp-array char* char** ())
(define-cpp-array void* void** ())

(define-ref-maker char& char)
(define-ref-maker signed-char& signed-char)
(define-ref-maker unsigned-char& unsigned-char)
(define-ref-maker short& short)
(define-ref-maker unsigned-short& unsigned-short)
(define-ref-maker int& int)
(define-ref-maker unsigned& unsigned)
(define-ref-maker long& long)
(define-ref-maker unsigned-long& unsigned-long)
(define-ref-maker float& float)
(define-ref-maker double& double)

