/[eiffelstudio]/FreeELKS/trunk/library/support/c_string.e
ViewVC logotype

Diff of /FreeELKS/trunk/library/support/c_string.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 91638 by kwaxer, Wed Oct 29 21:03:39 2008 UTC revision 91639 by kwaxer, Thu Nov 6 13:22:41 2008 UTC
# Line 19  create Line 19  create
19          make_empty,          make_empty,
20          make_by_pointer,          make_by_pointer,
21          make_by_pointer_and_count,          make_by_pointer_and_count,
22            make_shared_from_pointer,
23            make_shared_from_pointer_and_count,
24          share_from_pointer,          share_from_pointer,
25          share_from_pointer_and_count          share_from_pointer_and_count
26    
# Line 62  feature --{NONE} -- Initialization Line 64  feature --{NONE} -- Initialization
64                          managed_data.item.memory_copy (a_ptr, a_length)                          managed_data.item.memory_copy (a_ptr, a_length)
65                  end                  end
66    
67            make_shared_from_pointer (a_ptr: POINTER) is
68                            -- New instance sharing `a_ptr'.
69                    require
70                            a_ptr_not_null: a_ptr /= default_pointer
71                    do
72                            make_shared_from_pointer_and_count (a_ptr, c_strlen (a_ptr))
73                    end
74    
75            make_shared_from_pointer_and_count (a_ptr: POINTER; a_length: INTEGER) is
76                            -- New instance sharing `a_ptr' of `a_length' byte.
77                    require
78                            a_ptr_not_null: a_ptr /= default_pointer
79                            a_length_non_negative: a_length >= 0
80                    do
81                            count := a_length
82                            create managed_data.share_from_pointer (a_ptr, a_length + 1)
83                    end
84    
85  feature -- Initialization  feature -- Initialization
86    
87            set_shared_from_pointer (a_ptr: POINTER) is
88                            -- Share `a_ptr'.
89                    require
90                            a_ptr_not_null: a_ptr /= default_pointer
91                    do
92                            set_shared_from_pointer_and_count (a_ptr, c_strlen (a_ptr))
93                    end
94    
95            set_shared_from_pointer_and_count (a_ptr: POINTER; a_length: INTEGER) is
96                            -- Share `a_ptr' of `a_length' byte.
97                    require
98                            a_ptr_not_null: a_ptr /= default_pointer
99                            a_length_non_negative: a_length >= 0
100                    do
101                            count := a_length
102                            if not managed_data.is_shared then
103                                    create managed_data.share_from_pointer (a_ptr, a_length + 1)
104                            else
105                                    managed_data.set_from_pointer (a_ptr, a_length + 1)
106                            end
107                    end
108    
109          share_from_pointer (a_ptr: POINTER) is          share_from_pointer (a_ptr: POINTER) is
110                          -- New instance sharing `a_ptr'.                          -- New instance sharing `a_ptr'.
111    --              obsolete
112    --                      "Use `make_shared_from_pointer' to create object and `set_shared_from_pointer' to modify it."
113                  require                  require
114                          a_ptr_not_null: a_ptr /= default_pointer                          a_ptr_not_null: a_ptr /= default_pointer
115                  do                  do
# Line 74  feature -- Initialization Line 118  feature -- Initialization
118    
119          share_from_pointer_and_count (a_ptr: POINTER; a_length: INTEGER) is          share_from_pointer_and_count (a_ptr: POINTER; a_length: INTEGER) is
120                          -- New instance sharing `a_ptr' of `a_length' byte.                          -- New instance sharing `a_ptr' of `a_length' byte.
121    --              obsolete
122    --                      "Use `make_shared_from_pointer_and_count' to create object and `set_shared_from_pointer_and_count' to modify it."
123                  require                  require
124                          a_ptr_not_null: a_ptr /= default_pointer                          a_ptr_not_null: a_ptr /= default_pointer
125                          a_length_non_negative: a_length >= 0                          a_length_non_negative: a_length >= 0

Legend:
Removed from v.91638  
changed lines
  Added in v.91639

  ViewVC Help
Powered by ViewVC 1.1.23