/[eiffelstudio]/FreeELKS/trunk/library/kernel/readable_string_32.e
ViewVC logotype

Diff of /FreeELKS/trunk/library/kernel/readable_string_32.e

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

revision 91638 by manus_eiffel, Mon Oct 13 06:45:13 2008 UTC revision 91639 by kwaxer, Thu Nov 6 13:22:41 2008 UTC
# Line 64  feature {NONE} -- Initialization Line 64  feature {NONE} -- Initialization
64    
65          make_from_string (s: READABLE_STRING_32)          make_from_string (s: READABLE_STRING_32)
66                          -- Initialize from the characters of `s'.                          -- Initialize from the characters of `s'.
67    --              obsolete
68    --                      "Use `make_from_other_string' to create object and `copy' to modify it."
69                  require                  require
70                          string_exists: s /= Void                          string_exists: s /= Void
71                  do                  do
# Line 80  feature {NONE} -- Initialization Line 82  feature {NONE} -- Initialization
82          make_from_c (c_string: POINTER)          make_from_c (c_string: POINTER)
83                          -- Initialize from contents of `c_string',                          -- Initialize from contents of `c_string',
84                          -- a string created by some C function                          -- a string created by some C function
85    --              obsolete
86    --                      "Use `make_from_c_pointer' to create object and `from_c' to modify it."
87                  require                  require
88                          c_string_exists: c_string /= default_pointer                          c_string_exists: c_string /= default_pointer
89                  local                  local
90                          l_count: INTEGER                          l_count: INTEGER
91                  do                  do
92                          c_string_provider.share_from_pointer (c_string)                          c_string_provider.set_shared_from_pointer (c_string)
93                          l_count := c_string_provider.count                          l_count := c_string_provider.count
94                          if area = Void then                          if area = Void then
95                                  create area.make (l_count + 1)                                  create area.make (l_count + 1)
# Line 97  feature {NONE} -- Initialization Line 101  feature {NONE} -- Initialization
101                          c_string_provider.read_substring_into_character_32_area (area, 1, l_count)                          c_string_provider.read_substring_into_character_32_area (area, 1, l_count)
102                  end                  end
103    
104            make_from_other_string (s: READABLE_STRING_32)
105                            -- Create new instance from the characters of `s'.
106                    require
107                            string_exists: s /= Void
108                    do
109                            area := s.area.twin
110                            count := s.count
111                            internal_hash_code := 0
112                    ensure
113                            not_shared_implementation: Current /= s implies not shared_with (s)
114                            initialized: same_string (s)
115                    end
116    
117            make_from_c_pointer (c_string: POINTER)
118                            -- Create new instance from contents of `c_string',
119                            -- a string created by some C function
120                    require
121                            c_string_exists: c_string /= default_pointer
122                    local
123                            l_count: INTEGER
124                    do
125                            c_string_provider.set_shared_from_pointer (c_string)
126                            l_count := c_string_provider.count
127                            create area.make (l_count + 1)
128                            count := l_count
129                            internal_hash_code := 0
130                            c_string_provider.read_substring_into_character_32_area (area, 1, l_count)
131                    end
132    
133          make_from_cil (a_system_string: SYSTEM_STRING)          make_from_cil (a_system_string: SYSTEM_STRING)
134                          -- Initialize Current with `a_system_string'.                          -- Initialize Current with `a_system_string'.
135                  require                  require
# Line 246  feature -- Access Line 279  feature -- Access
279          string: STRING_32          string: STRING_32
280                          -- New STRING_32 having same character sequence as `Current'.                          -- New STRING_32 having same character sequence as `Current'.
281                  do                  do
282                          create Result.make_from_string (Current)                          create Result.make_from_other_string (Current)
283                  ensure                  ensure
284                          string_not_void: Result /= Void                          string_not_void: Result /= Void
285                          string_type: Result.same_type (create {STRING_32}.make_empty)                          string_type: Result.same_type (create {STRING_32}.make_empty)

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

  ViewVC Help
Powered by ViewVC 1.1.23