Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #91331
| From | Bonita Montero <Bonita.Montero@gmail.com> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: What is visitor pattern? |
| Date | 2023-08-22 05:47 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <uc1b4g$292ev$1@dont-email.me> (permalink) |
| References | <331cb164-e6b3-4f9b-af8d-ee933abd79b7n@googlegroups.com> <uIsEM.123835$QQFb.6082@fx38.iad> <ubuoig$1ons4$1@dont-email.me> <AXVEM.568386$SuUf.28925@fx14.iad> |
Am 22.08.2023 um 05:28 schrieb Pavel:
> Bonita Montero wrote:
>> You can better do this
> I suspect we are talking about different "this"es. A design pattern is
> a recipe for solving a problem of a defined class. What is the class of
> problems that your code intends to demonstrate how to solve?
Visitor pattern and inversion of control is basically the same.
>> with functional programming. If you need
>> a performant solution you'd pass a function-object of a generic
>> type. If performance is not your concern or not necessary you'd
>> pass a function<>-object.
>> Take this example of a file-listing function for Win32:
>>
>> void fileList( wchar_t const *path, function<bool ( WIN32_FIND_DATAW
>> const & )> const &fn, DWORD *pdwErr )
>> {
>> using namespace std;
>> if( pdwErr )
>> *pdwErr = NO_ERROR;
>> wstring fullPath = getAbsolutePath( path );
>> WIN32_FIND_DATAW fd;
>> HANDLE hFind = FindFirstFileW( fullPath.c_str(), &fd );
>> if( hFind == INVALID_HANDLE_VALUE )
>> {
>> if( GetLastError() == ERROR_FILE_NOT_FOUND )
>> return;
>> if( !pdwErr )
>> throw system_error( (int)GetLastError(),
>> system_category(), "FindFirstFileW() failed" );
>> *pdwErr = GetLastError();
>> return;
>> }
>> invoke_on_destruct closeFind(
>> [&]()
>> {
>> BOOL succ = FindClose( hFind );
>> assert(succ);
>> } );
>> wstring dir( extractDirectory( fullPath.c_str(), false ) );
>> do
>> if( wcscmp( fd.cFileName, L"." ) != 0 && wcscmp(
>> fd.cFileName, L".." ) != 0 && !fn( fd ) )
>> break;
>> while( FindNextFileW( hFind, &fd ) );
>> if( GetLastError() != ERROR_NO_MORE_FILES )
>> {
>> if( !pdwErr )
>> throw system_error( (int)GetLastError(),
>> system_category(), "FindNextFileW() failed" );
>> *pdwErr = GetLastError();
>> }
>> }
>
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
What is visitor pattern? wij <wyniijj5@gmail.com> - 2023-08-20 06:55 -0700
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-20 07:22 -0700
Re: What is visitor pattern? wij <wyniijj5@gmail.com> - 2023-08-20 19:24 -0700
Re: What is visitor pattern? wij <wyniijj5@gmail.com> - 2023-08-27 13:13 -0700
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-28 00:13 -0700
Re: What is visitor pattern? wij <wyniijj5@gmail.com> - 2023-08-28 23:18 -0700
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-20 14:12 -0400
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-20 13:34 -0700
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-20 18:01 -0400
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-20 21:12 -0700
Re: What is visitor pattern? Muttley@dastardlyhq.com - 2023-08-21 06:53 +0000
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-21 00:10 -0700
Re: What is visitor pattern? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2023-08-26 21:26 -0700
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-26 22:57 -0700
Re: What is visitor pattern? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2023-08-28 15:07 -0700
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-21 22:55 -0400
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-21 21:56 -0700
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-24 01:38 -0400
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-24 04:45 -0700
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-24 23:11 -0400
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-25 07:52 -0700
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-26 00:55 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-21 06:18 +0200
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-21 23:28 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-22 05:47 +0200
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-22 00:11 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-22 14:30 +0200
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-24 01:56 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-24 09:15 +0200
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-24 20:02 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-25 05:13 +0200
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-26 01:05 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-26 09:24 +0200
Re: What is visitor pattern? Muttley@dastardlyhq.com - 2023-08-26 08:01 +0000
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-26 11:29 +0200
Re: What is visitor pattern? Muttley@dastardlyhq.com - 2023-08-26 15:00 +0000
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-26 17:08 +0200
Re: What is visitor pattern? Muttley@dastardlyhq.com - 2023-08-26 15:15 +0000
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-26 17:24 +0200
Re: What is visitor pattern? Muttley@dastardlyhq.com - 2023-08-26 15:36 +0000
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-26 17:39 +0200
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-26 17:26 +0200
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-29 21:44 -0400
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-29 22:14 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-30 06:13 +0200
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-30 23:18 -0400
Re: What is visitor pattern? "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2023-08-21 01:17 +0200
Re: What is visitor pattern? "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2023-08-21 01:24 +0200
Re: What is visitor pattern? Michael S <already5chosen@yahoo.com> - 2023-08-25 05:21 -0700
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-25 14:33 +0200
Re: What is visitor pattern? Öö Tiib <ootiib@hot.ee> - 2023-08-25 08:28 -0700
Re: What is visitor pattern? Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2023-08-26 01:17 -0400
Re: What is visitor pattern? Bonita Montero <Bonita.Montero@gmail.com> - 2023-08-29 19:27 +0200
csiph-web