Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. using CMap

using CMap

Scheduled Pinned Locked Moved C / C++ / MFC
questiondata-structuresworkspace
14 Posts 6 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Ravi Bhavnani

    You'll need to iterate through all keys and check if each key's value matches the CWnd* you're searching for. /ravi My new year's resolution: 2048 x 1536 Home | Articles | Freeware | Music ravib@ravib.com

    C Offline
    C Offline
    Christian Graus
    wrote on last edited by
    #5

    But that only works if each CWnd is only in there once. And it's damn ugly. Christian Graus - Microsoft MVP - C++

    R 1 Reply Last reply
    0
    • C Christian Graus

      But that only works if each CWnd is only in there once. And it's damn ugly. Christian Graus - Microsoft MVP - C++

      R Offline
      R Offline
      Ravi Bhavnani
      wrote on last edited by
      #6

      True. What he really needs is a multimap. /ravi My new year's resolution: 2048 x 1536 Home | Articles | Freeware | Music ravib@ravib.com

      C 1 Reply Last reply
      0
      • R Ravi Bhavnani

        True. What he really needs is a multimap. /ravi My new year's resolution: 2048 x 1536 Home | Articles | Freeware | Music ravib@ravib.com

        C Offline
        C Offline
        Christian Graus
        wrote on last edited by
        #7

        Does multimap let you search the values ? Christian Graus - Microsoft MVP - C++

        R 1 Reply Last reply
        0
        • C Christian Graus

          Does multimap let you search the values ? Christian Graus - Microsoft MVP - C++

          R Offline
          R Offline
          Ravi Bhavnani
          wrote on last edited by
          #8

          Sorry, I meant a bi-directional map, not a multi-map. :-O /ravi My new year's resolution: 2048 x 1536 Home | Articles | Freeware | Music ravib@ravib.com

          P 1 Reply Last reply
          0
          • R Ravi Bhavnani

            Sorry, I meant a bi-directional map, not a multi-map. :-O /ravi My new year's resolution: 2048 x 1536 Home | Articles | Freeware | Music ravib@ravib.com

            P Offline
            P Offline
            PJ Arends
            wrote on last edited by
            #9

            I have used map and multimap, and read about but never used hash_map and hash_multimap. What exactly do you mean by a bi-directional map? I always thought bi-directional containers were containers that had both forward and reverse iterators, but that definition does not seem to be what is being discussed here. What I think you mean is a map where both the key and value are unique, and has a find() member that can find either the key or the value. Is there such a beast? If so what is it called and where can I get it? Currently I am just using a map for this functionality, I check to make sure the value is unique before I add a new value to the map, and I sequentially iterate the map, comparing values, until I find the keyvalue I am looking for. If there is a better implementation out there I would be interested in learning about it.


            "You're obviously a superstar." - Christian Graus about me - 12 Feb '03 "Obviously ???  You're definitely a superstar!!!" - mYkel - 21 Jun '04 "There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05 Within you lies the power for good - Use it!

            R 1 Reply Last reply
            0
            • L laiju

              I have declared the following in my application. "CMap < CString,LPCSTR,CWnd*,CWnd* > m_map" I have a windows explorer like setup. When i click a node in the tree i need to display an MDI Window. So i have mapped the node item's text (LPCSTR) to that of the window pointer .So when i click a node i use CMap to get the window pointer and display the window. Now when i alternatively click the windows i get the window pointer and i want to correspondingly shift the focus on the tree items. So my question is how do i look up the key ( i.e LPCSTR) when i have the value (i.e.. CWnd*). . laiju

              M Offline
              M Offline
              Maximilien
              wrote on last edited by
              #10

              a tought ... if the strings are unique, make a map that points to ( a pointer to ) a structure containing a CWnd and a HTREEITEM when you create the CWnd, attach the structure to the CWnd ( as a member of the class ) when you create the Tree Item, attach the structure to the Item ( CTreeCtrl::SetItemData ) when you click on the window, you can find exactly which item to highlight; and when you click on the tree item you have the pointer to the CWnd.


              Maximilien Lincourt Your Head A Splode - Strong Bad

              1 Reply Last reply
              0
              • P PJ Arends

                I have used map and multimap, and read about but never used hash_map and hash_multimap. What exactly do you mean by a bi-directional map? I always thought bi-directional containers were containers that had both forward and reverse iterators, but that definition does not seem to be what is being discussed here. What I think you mean is a map where both the key and value are unique, and has a find() member that can find either the key or the value. Is there such a beast? If so what is it called and where can I get it? Currently I am just using a map for this functionality, I check to make sure the value is unique before I add a new value to the map, and I sequentially iterate the map, comparing values, until I find the keyvalue I am looking for. If there is a better implementation out there I would be interested in learning about it.


                "You're obviously a superstar." - Christian Graus about me - 12 Feb '03 "Obviously ???  You're definitely a superstar!!!" - mYkel - 21 Jun '04 "There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05 Within you lies the power for good - Use it!

                R Offline
                R Offline
                Ravi Bhavnani
                wrote on last edited by
                #11

                PJ Arends wrote: What I think you mean is a map where both the key and value are unique, and has a find() member that can find either the key or the value. Yes, exactly. PJ Arends wrote: If so what is it called and where can I get it? I don't know. I'm tempted to write one, but I doubt I'll come up with anything revolutionary (i.e. very efficient). A hashmap of pairs, with uniqueness enforced on values is what comes to mind. /ravi My new year's resolution: 2048 x 1536 Home | Articles | Freeware | Music ravib@ravib.com

                P 1 Reply Last reply
                0
                • R Ravi Bhavnani

                  PJ Arends wrote: What I think you mean is a map where both the key and value are unique, and has a find() member that can find either the key or the value. Yes, exactly. PJ Arends wrote: If so what is it called and where can I get it? I don't know. I'm tempted to write one, but I doubt I'll come up with anything revolutionary (i.e. very efficient). A hashmap of pairs, with uniqueness enforced on values is what comes to mind. /ravi My new year's resolution: 2048 x 1536 Home | Articles | Freeware | Music ravib@ravib.com

                  P Offline
                  P Offline
                  PJ Arends
                  wrote on last edited by
                  #12

                  Thanks Ravi. I thought you were refering to an already existing implementation that I did not know about. I guess I have to stick to my home-brewed hack.


                  "You're obviously a superstar." - Christian Graus about me - 12 Feb '03 "Obviously ???  You're definitely a superstar!!!" - mYkel - 21 Jun '04 "There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05 Within you lies the power for good - Use it!

                  J 1 Reply Last reply
                  0
                  • P PJ Arends

                    Thanks Ravi. I thought you were refering to an already existing implementation that I did not know about. I guess I have to stick to my home-brewed hack.


                    "You're obviously a superstar." - Christian Graus about me - 12 Feb '03 "Obviously ???  You're definitely a superstar!!!" - mYkel - 21 Jun '04 "There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05 Within you lies the power for good - Use it!

                    J Offline
                    J Offline
                    Joaquin M Lopez Munoz
                    wrote on last edited by
                    #13

                    An off-the-sheld bidirectional map is provided here[^]; unfortunately, it doesn't work with MSVC 7.1. For a more comprehensive solution, allow me to suggest you take a look at the Boost Multi-index Containers Library[^], which enables the construction of bidirectional maps and more. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo Want a Boost forum in Code Project? Vote here[^]!

                    P 1 Reply Last reply
                    0
                    • J Joaquin M Lopez Munoz

                      An off-the-sheld bidirectional map is provided here[^]; unfortunately, it doesn't work with MSVC 7.1. For a more comprehensive solution, allow me to suggest you take a look at the Boost Multi-index Containers Library[^], which enables the construction of bidirectional maps and more. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo Want a Boost forum in Code Project? Vote here[^]!

                      P Offline
                      P Offline
                      PJ Arends
                      wrote on last edited by
                      #14

                      Thanks Joaquín, your CP article looks interesting. I will DL the code and play with it to see if it fits my needs:)


                      "You're obviously a superstar." - Christian Graus about me - 12 Feb '03 "Obviously ???  You're definitely a superstar!!!" - mYkel - 21 Jun '04 "There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05 Within you lies the power for good - Use it!

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups