|  | /* array.h -- the open array type for Go. | 
|  |  | 
|  | Copyright 2009 The Go Authors. All rights reserved. | 
|  | Use of this source code is governed by a BSD-style | 
|  | license that can be found in the LICENSE file.  */ | 
|  |  | 
|  | #ifndef LIBGO_ARRAY_H | 
|  | #define LIBGO_ARRAY_H | 
|  |  | 
|  | /* An open array is an instance of this structure.  */ | 
|  |  | 
|  | struct __go_open_array | 
|  | { | 
|  | /* The elements of the array.  In use in the compiler this is a | 
|  | pointer to the element type.  */ | 
|  | void* __values; | 
|  | /* The number of elements in the array.  Note that this is "int", | 
|  | not "size_t".  The language definition says that "int" is large | 
|  | enough to hold the size of any allocated object.  Using "int" | 
|  | saves 8 bytes per slice header on a 64-bit system with 32-bit | 
|  | ints.  */ | 
|  | intgo __count; | 
|  | /* The capacity of the array--the number of elements that can fit in | 
|  | the __VALUES field.  */ | 
|  | intgo __capacity; | 
|  | }; | 
|  |  | 
|  | #endif /* !defined(LIBGO_ARRAY_H) */ |